【发布时间】:2022-03-07 19:07:03
【问题描述】:
我想在我的 node.js 服务器上解析一个包含超链接的 xlsx 文件。 我在 npm 中尝试了一些 xlsx 解析器(如“excel-parser”、“xlsx”),但我无法获取超链接值(只有文本值)。 有谁知道如何使用 node.js 提取超链接?
【问题讨论】:
标签: node.js parsing hyperlink xlsx
我想在我的 node.js 服务器上解析一个包含超链接的 xlsx 文件。 我在 npm 中尝试了一些 xlsx 解析器(如“excel-parser”、“xlsx”),但我无法获取超链接值(只有文本值)。 有谁知道如何使用 node.js 提取超链接?
【问题讨论】:
标签: node.js parsing hyperlink xlsx
如果您不喜欢现有的解决方案,您可以随时解压缩文件(OfficeOpen XML 文件是包含多个文件的压缩目录),并在搜索链接时自行解析主要部分。
【讨论】:
一个老问题,但没有答案,半小时后我可以很容易地在其他地方找到答案。
以下代码将读取 XSLX 并将其逐行转储到控制台:row.values 将是纯文本或带有键 formula 和 result 的对象,前者是超链接,后者是可见的文本。
我刚刚发现 exceljs 如此 ymmv,但它看起来很简单,并且有大量但不是压倒性的选择来快速完成工作。
const xl = require('exceljs');
const csvPath = 'NTA Transcripts.xlsx';
const workbook = new xl.Workbook();
await workbook.xlsx.readFile(csvPath);
const worksheet = workbook.getWorksheet(1);
worksheet.eachRow({ includeEmpty: true }, (row, rowNumber) => {
console.log("Row ", rowNumber, ": ", JSON.stringify(row.values, null, 2));
});
【讨论】: