exceljson-jsonexcel-cg-library
v1.1.4
Published
Library to transform an Excel file to Json and Json to Excel file
Downloads
55
Maintainers
Readme
exceljson-jsonexcel-cg-lib
1. Introduction
This code has the objective of performing transformations from one type of file or one type of data handling to another. In this case it is related to transforming a JSON file to an Excel file allowing to process the data in a different way. Also the code allows to make the transformation from an Excel file to a JSON file.
This library could be used as part of a component based on Open Integration Hub (OIH) framework or any Nodejs development that requires convertion between this two formats.
The library can be installed from npm page with the next:
npm install exceljson-jsonexcel-cg-lib
, npm i exceljson-jsonexcel-cg-lib
or yarn install exceljson-jsonexcel-cg-lib
Within "exceljson-jsonexcel-cg-lib" there are three additional libraries:
- jsdom: This library is used in the transformation from Excel file to JSON file that allows to access to the data that is previously convert to HTML formart.
- xlsx: This library is used in the transformation from Excel file to JSON file that allows to access to the Excel data.
- excel4node: This library is used in the transformation from JSON file to Excel file creating an Excel file based in the JSON content that is going to be processed by the library.
As final result in the case of the "excel_json" transformation the resultant JSON data should look like as follows:
[
{
"Nombre": "Erick",
"Apellido": "Doe",
"Direccion": "120 jefferson st.",
"Localidad": "Riverside",
"Ext": "NJ",
"CP": "8075"
},
{
"Nombre": "Philip",
"Apellido": "Miller",
"Direccion": "170 jefferson st.",
"Localidad": "Riverside",
"Ext": "NJ",
"CP": "9065"
}
]
In other hand, in the case of the "json_excel" transformation an example of how the reultant Excel look like is as follow (the result is in base64 encoding):
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
2. Methods explanation
2.1. transformJson
This method is used to convert an Excel file to a JSON file for data handling preferences. Currently the Excel application has two types of extentions ".xls" and ".xlsx" that are allowed to be used for the process transformation in a JSON files.
2.2. transformExcel
This method is used to transform a JSON file to an Excel file for data handling preference. Currently the JSON format has to be in a single level since, if there are more levels, the data could not be transformed.
3. Argument and result explanation
Arguments: In the transformJson method there are only a few parameters that are necessary to do the transformation and they are described below:
- headers(optional): This parameter is to determine if the first line of the Excel file will be taken as headers and used as identifiers for the JSON property names, if not the json property names will be created dynamically.
- content(required): This parameter is the content that will be transformed and is is expected to be encoded in base64.
In the transformExcel method only one parameter is required to do the transformation and it is described below:
- content(required): This parameter is the content that will be transformed and is is expected to be encoded in base64.
Result: The final result depends on the process, if it is "excel_json" it will bring a JSON as a result, if it is "json_excel" the result will br the Excel file in base64 encode: This result is for the "excel_json" process.
[
{
"Nombre": "Erick",
"Apellido": "Doe",
"Direccion": "120 jefferson st.",
"Localidad": "Riverside",
"Ext": "NJ",
"CP": "8075"
},
{
"Nombre": "Philip",
"Apellido": "Miller",
"Direccion": "170 jefferson st.",
"Localidad": "Riverside",
"Ext": "NJ",
"CP": "9065"
}
]
In the case of "json_excel", the result will be the Excel file in base64 encode:
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
4. Examples
This part will show some examples of how to set the input parameters to the library and what its result would be.
The next object is a valid object with full parameters that can be set to te library to make the Excel to JSON transformation:
{
"headers": true,
"content":"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"
}
In this case it is expected to transform the CSV file encoded in base64, to a JSON format, so the result is gonna be the next:
[
{
"Nombre": "Erick",
"Apellido": "Doe",
"Direccion": "120 jefferson st.",
"Localidad": "Riverside",
"Ext": "NJ",
"CP": "8075"
},
{
"Nombre": "Philip",
"Apellido": "Miller",
"Direccion": "170 jefferson st.",
"Localidad": "Riverside",
"Ext": "NJ",
"CP": "9065"
}
]
An other example to make the JSON to Excel transformation that is the opposite transformation to the example above, only requires the JSON data encoding in base64 as follows:
{
"content":"WwogIHsKICAgICJOb21icmUiOiAiSm9obiIsCiAgICAiQXBlbGxpZG8iOiAiRG9lIiwKICAgICJEaXJlY2Npb24iOiAiMTIwIGplZmZlcnNvbiBzdC4iLAogICAgIkxvY2FsaWRhZCI6ICJSaXZlcnNpZGUiLAogICAgIkV4dCI6ICJOSiIsCiAgICAiQ1AiOiAiODA3NSIKICB9LAogIHsKICAgICJOb21icmUiOiAiUGhpbGlwIiwKICAgICJBcGVsbGlkbyI6ICJNaWxsZXIiLAogICAgIkRpcmVjY2lvbiI6ICIxNzAgamVmZmVyc29uIHN0LiIsCiAgICAiTG9jYWxpZGFkIjogIlJpdmVyc2lkZSIsCiAgICAiRXh0IjogIk5KIiwKICAgICJDUCI6ICI5MDY1IgogIH0KXQ=="
}
The result is the Excel file in base64 encoding:
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