XLSX 转换为 XML:添加文件头并格式化输出
根据您的要求,以下是修改后的代码,用于将 XLSX 文件转换为 XML 文件,并将文件头修改为 '<xml version='1.0' encoding='utf-8'?>':
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');
// 获取属性行
const attributeRow = jsonData[0];
// 遍历每一行数据
jsonData.slice(1).forEach(row => {
const defaultElement = root.ele('Default');
attributeRow.forEach((attribute, index) => {
defaultElement.att(attribute, row[index]);
});
});
// 构建 XML 数据
const xmlData = xml.create({ version: '1.0', encoding: 'UTF-8' }).ele(root).end({ pretty: true });
// 添加文件头
const xmlDataWithHeader = `<?xml version='1.0' encoding='utf-8'?>
${xmlData}`;
// 保存为 XML 文件
fs.writeFile('path/to/output.xml', xmlDataWithHeader, 'utf8', err => {
if (err) {
console.error(err);
return;
}
console.log('转换后的XML文件已保存');
});
在上述代码中,我们在构建 XML 数据之前添加了一个新的步骤来修改文件头。
首先,我们使用 xml.create({ version: '1.0', encoding: 'UTF-8' }) 创建一个 XML 对象,并将 { version: '1.0', encoding: 'UTF-8' } 作为选项传递,以表示要在生成的 XML 文件中添加文件头。
然后,我们使用 .ele(root) 将之前创建的 root 元素添加到新创建的 XML 对象中。
接下来,我们使用 .end({ pretty: true }) 构建 XML 数据,并将其保存到 xmlData 变量中。
然后,我们将 xmlData 与文件头合并,得到带有修改后文件头的完整 XML 数据。
最后,我们使用 fs.writeFile 将带有修改后文件头的 XML 数据保存为新的 XML 文件。
请确保将代码中的 path/to/input.xlsx 替换为实际的输入 XLSX 文件路径,将 path/to/output.xml 替换为实际的输出 XML 文件路径。
运行上述代码后,它将读取 XLSX 文件中的属性,并按照提供的格式将其转换为 XML 格式。同时,它将在文件头中添加 <?xml version='1.0' encoding='utf-8'?>,并将转换后的 XML 数据保存到指定的输出文件路径中。
希望这次的代码满足了您的要求!
原文地址: http://www.cveoy.top/t/topic/IAD 著作权归作者所有。请勿转载和采集!