https://github.com/silencesys/dh--xlsx-to-xml
Convert simple two column XLSX to kind of XML.
https://github.com/silencesys/dh--xlsx-to-xml
converter xlsx xlsx-to-xml xml
Last synced: about 1 month ago
JSON representation
Convert simple two column XLSX to kind of XML.
- Host: GitHub
- URL: https://github.com/silencesys/dh--xlsx-to-xml
- Owner: silencesys
- License: mit
- Created: 2021-09-18T18:04:36.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-11-11T13:59:48.000Z (over 3 years ago)
- Last Synced: 2025-03-18T06:09:27.880Z (about 2 months ago)
- Topics: converter, xlsx, xlsx-to-xml, xml
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/@silencesys/xlsx-to-xml
- Size: 44.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# XLSX to XML
This little tool converts two column XLSX Excel files to XML.
## How to use
1. Install this package with NPM
```bash
npm install -g @silencesys/xlsx-to-xml
```
2. Create config file that will be used for the transformation
3. Run the tool
```bash
xlsx-to-xml --input your_input_file.xlsx --output your_output_file.xml --config your_config.json
```
### Available options
| Option | Description |
| ------ | ----------- |
| --input, -i | The input file to be converted to xlsx |
| --output, -o | The output file to be created |
| --config, -c | The config file that will be used |
| --dirty | Set this flag if you want to see XHTML tags added by XLSX transformer |
| --ignore-halves | Set this flag if you want to ignore rows that has one column empty |
| --help, -h | Show help |
## Config file
The config file is a standard JSON file with following structure:
```json
{
"parentTagName": "dictionary",
"rowTagName": "entry",
"language": ["eng", "cze"],
"stripTags": [
""
],
"replaceTags": [
{
"from": "",
"to": ""
},
],
"divideBy": [
[": "]
]
}
```
As you can see there are several options that can be used. **There is no default config file as each use case is expected to be unique.** You can use aforementioned snippet as your default config file.| Option | Required | Description |
| ------ | :--: | ----------- |
| `parentTagName` | Yes | Name of the parent tag. |
| `rowTagName` | Yes | Name of the row tag. |
| `language` | Optional | List of languages that should be used. |
| `stripTags` | Optional | List of tags that should be stripped from the text. The list should contain only opening tags with all their attributes that should be removed. |
| `replaceTags` | Optional | List of tags that should be replaced. These tags should always be defined as a JSON object containing keys `from` and `to`. Only opening tags but with all attributes should be defined there. |
| `divideBy` | Optional | List of strings that should be used to divide the text. _You might want to include spaces following after these characters as the division method is quite dumb_. |
### How to write a config file
I'm sure you ask how am I supposed to know which XHTML tags will be used in my XLSX document after conversion. Well, for that purpose there is a very simple way. Just run following command:
```bash
xlsx-to-xml --input your_input_file.xlsx --dirty
```
This will output a _dirty_ file containing XML with all XHTML tags. You can then decide which tags should be stripped or replaced and which should be kept. Just keep in mind that tags `` and `` are added by this tool and will be replaced by `parentTagName` and `rowTagName` respectively.
## Contributing
All the code is open source and you can contribute to the project by creating pull requests.
## License
This project is licensed under the [MIT license](LICENSE.md).