Node.js实现XLSX转XML,包含详细代码示例
Node.js实现XLSX转XML,包含详细代码示例
本文将指导您使用Node.js将XLSX文件转换为XML格式。我们将使用xlsx库读取XLSX文件,并使用xmlbuilder库生成XML文件。
以下是完整的代码示例:javascriptconst fs = require('fs');const XLSX = require('xlsx');const xml = require('xmlbuilder');
// 读取 XLSX 文件const workbook = XLSX.readFile('path/to/input.xlsx'); // 替换为实际的XLSX文件路径const worksheet = workbook.Sheets[workbook.SheetNames[0]];const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
// 创建根元素const root = xml.create('DefaultSkillSet');
// 遍历每一行数据jsonData.forEach((row, rowIndex) => { if (rowIndex === 0) { // 表头行 const xmlDeclaration = xml.create({ version: '1.0', encoding: 'utf-8' }).toString({ headless: true }); fs.appendFileSync('path/to/output.xml', xmlDeclaration + ' '); } else { // 数据行 const defaultElement = root.ele('Default'); defaultElement.att('race', row[0]); defaultElement.att('gender', row[1]); defaultElement.att('class', row[2]); defaultElement.att('activeSkillIdList', row[3]); defaultElement.att('passiveSkillIdList', row[4]); }});
// 构建 XML 数据const xmlData = root.end({ pretty: true });
// 保存为 XML 文件fs.appendFileSync('path/to/output.xml', xmlData, 'utf8');
console.log('转换后的XML文件已保存');
代码说明:
-
引入必要的模块: -
fs用于文件操作。 -xlsx用于读取XLSX文件。 -xmlbuilder用于生成XML数据。 -
读取XLSX文件: - 使用
XLSX.readFile()读取指定的XLSX文件。 - 获取第一个工作表和数据。 -
创建XML根元素: - 使用
xml.create()创建名为'DefaultSkillSet'的根元素。 -
遍历数据并生成XML元素: - 遍历读取到的XLSX数据。 - 区分表头行和数据行: - 表头行:创建XML声明
<?xml version='1.0' encoding='utf-8'?>并写入文件。 - 数据行:为每一行数据创建Default元素,并设置相应的属性。 -
构建完整的XML数据: - 使用
root.end()方法生成格式化的XML字符串。 -
保存XML文件: - 使用
fs.appendFileSync()将生成的XML数据写入指定的输出文件。
使用方法:
- 将代码保存为
.js文件,例如xlsx_to_xml.js。2. 将path/to/input.xlsx替换为实际的输入XLSX文件路径。3. 将path/to/output.xml替换为实际的输出XML文件路径。4. 在终端中运行node xlsx_to_xml.js。
运行代码后,您将在指定的输出路径找到转换后的XML文件,并且文件头中包含 <?xml version='1.0' encoding='utf-8'?>。
希望本文能帮助您使用Node.js轻松实现XLSX到XML的转换!
原文地址: https://www.cveoy.top/t/topic/pIr 著作权归作者所有。请勿转载和采集!