我知道XLSX.read(htmlStr)读取html字符串作为工作簿。我想知道是否有一种方法可以将其作为工作表阅读。我有一个对象,如下所示
workboook = {
sheets:[
{
html: "<table style='width:100%'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>",
sheetName: "Some Name"
},
{
html: "<table style='width:100%'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>",
sheetName: "Some Name"
}
]
}
我想将“工作表”数组中的每个html转换为s工作表,并将所有这些工作表添加到工作簿中。任何帮助/建议都非常好。
我仍然可以像这样从工作簿中提取Sheet对象:
...
let xlsxWorkbook = XLSX.utils.book_new();
workbook.sheets.forEach((sheet) => {
let tempWorkbook = XLSX.read(sheet.html, {type: 'string'});
let worksheet = tempWorkbook.Sheets.Sheet1;
XLSX.utils.book_append_sheet(xlsxWorkbook, worksheet, sheet.sheetName);
});
但这似乎更像是一种hack。有更好的解决方案