将 XLSX 文件转换为 XML 格式:使用 Node.js 代码示例

本文提供了一个详细的 Node.js 代码示例,演示如何使用 xlsxxmlbuilder 库将 XLSX 文件中的所有内容转换为 XML 格式。该代码解释了每个步骤,包括读取文件、处理数据和创建 XML 文件。

代码示例

const 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) {
    return;
  }

  // 创建 Default 元素
  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.toString({ pretty: true });

// 保存为 XML 文件
fs.writeFile('path/to/output.xml', xmlData, 'utf8', err => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('转换后的XML文件已保存');
});

代码解释

  1. 导入库: 使用 require 语句导入 fsxlsxxmlbuilder 库。
  2. 读取 XLSX 文件:
    • 使用 XLSX.readFile 方法读取 XLSX 文件,并指定文件路径。
    • 获取第一个工作表:workbook.Sheets[workbook.SheetNames[0]]
    • 使用 XLSX.utils.sheet_to_json 方法将工作表数据转换为 JSON 格式,并设置 header: 1 以指定第一行为表头。
  3. 创建 XML 根元素: 使用 xmlbuilder 创建一个名为 DefaultSkillSet 的根元素。
  4. 遍历 JSON 数据: 使用 forEach 循环遍历 jsonData 中的每一行数据。
    • 跳过表头行 (rowIndex === 0)。
    • 创建 Default 元素:root.ele('Default')
    • 设置 Default 元素的属性:使用 att 方法设置 racegenderclassactiveSkillIdListpassiveSkillIdList 属性,并根据行数据中的对应索引位置获取值。
  5. 构建 XML 数据: 使用 root.toString({ pretty: true }) 方法将 XML 数据转换为字符串,并设置 pretty: true 以生成格式化的 XML 代码。
  6. 保存 XML 文件: 使用 fs.writeFile 方法将转换后的 XML 数据保存为新的 XML 文件,并指定文件路径和编码方式。

运行代码

  1. 确保你已经安装了 xlsxxmlbuilder 库。
  2. 将代码中的 path/to/input.xlsx 替换为实际的输入 XLSX 文件路径。
  3. path/to/output.xml 替换为实际的输出 XML 文件路径。
  4. 运行代码。

该代码将读取 XLSX 文件中的所有内容,并将其按照指定的方式转换为 XML 格式,并将转换后的 XML 数据保存到指定的输出文件路径中。

希望这篇文章对你有帮助!

将 XLSX 文件转换为 XML 格式:使用 Node.js 代码示例

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

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