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文件已保存');

代码说明:

  1. 引入必要的模块: - fs用于文件操作。 - xlsx用于读取XLSX文件。 - xmlbuilder用于生成XML数据。

  2. 读取XLSX文件: - 使用XLSX.readFile()读取指定的XLSX文件。 - 获取第一个工作表和数据。

  3. 创建XML根元素: - 使用xml.create()创建名为'DefaultSkillSet'的根元素。

  4. 遍历数据并生成XML元素: - 遍历读取到的XLSX数据。 - 区分表头行和数据行: - 表头行:创建XML声明 <?xml version='1.0' encoding='utf-8'?> 并写入文件。 - 数据行:为每一行数据创建Default元素,并设置相应的属性。

  5. 构建完整的XML数据: - 使用root.end()方法生成格式化的XML字符串。

  6. 保存XML文件: - 使用fs.appendFileSync()将生成的XML数据写入指定的输出文件。

使用方法:

  1. 将代码保存为.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的转换!

Node.js实现XLSX转XML,包含详细代码示例

原文地址: https://www.cveoy.top/t/topic/pIr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录