jquery - html2xlsx - 如何使用 jQuery 选择表格
问题描述
我正在使用html2xlsx插件将 html 表导出到 xlsx 文件。它适用于上面链接中包含的代码(缩短):
htmlTo(`
<style type="text/css">
table td {
color: #666;
height: 20px;
background-color: #f1f1f1;
border: 1px solid #eee;
}
</style>
<table>
<tr>
<td>foo</td>
<td>bar</td>
</tr>
<tr>
<td>hello</td>
<td>world</td>
</tr>
<tr>
<td type="date">2013-01-12T12:34:56+08:00</td>
<td type="datetime">2013-01-12T12:34:56+08:00</td>
</tr>
</table>
`, (err, file) => {
if (err) return console.error(err);
file.saveAs()
.pipe(fs.createWriteStream('test.xlsx'))
.on('finish', () => console.log('Done.'));
});
但是,我想使用 jQuery 来选择我的表格,而不是编写 html 代码。我尝试过htmlTo($(".table").html(), ...)
, htmlTo(`$(".table").html()`, ...)
甚至使用将表格 html 转换为字符串,.toString()
但没有一个有效,并且 excel 给出错误。
有什么建议么?
另外,我正在使用电子。
更新
该问题似乎与字符串格式有关。这个有效:
tabul = '<tr><td>Hello</td></tr>'
htmlTo(`'<table>'` + tabul + `'</table>'`, ...)
但这不会:
tabledata = $(".table").html()
htmlTo(`'<table>'` + tabledata.toString() + `'</table>'`, ...) //excluding toString doesn't work either
更新 2
表格中的图像还有另一个问题。该插件无法将图像标签转换为数据,或者我不知道如何。
解决方案
$(".table").html()
只返回表格的内容,而不是<table>
标签本身。要获取包含该<table>
标记的 HTML,您可以使用标准 JavaScript.outerHTML
属性。索引一个 jQuery 对象会返回相应的 DOM 元素,因此您可以使用
htmlTo($(".table")[0].outerHTML)
推荐阅读
- javascript - Javascript,它将重新加载页面然后单击某些内容
- mysql - 如何轻松地将 CSV 文件转换为 SQL 文件?
- xcode - 您的帐户无权创建 Developer ID 应用程序证书
- redirect - 如何在不更改 web.config 文件中的 URL 的情况下重定向域?
- gamesparks - GameSparks 从 GameSparks 活动中获得高分
- html - 使用 vanilla css 的响应式应用程序
- ios - iOS 位置权限无法由 Objective-C 显示
- python - 将日期格式解析为日期时间
- azure - Azure 信息保护 | 如何解密来自 EWS API 的 .EML?
- python-3.x - 将字符串 (f. E. 6,6) 更改为浮动