javascript - 如何将数据分离到同一个 Excel 文件中的新工作表中
问题描述
如果我在 array2D 中有数据,并且我想将每个设备分隔到 excel 文件中的每个工作表中。从下面的代码中,我必须更改 exportToCSV() 以解决此问题。
const rows = [
["DeviceA"]
["Date/Time", "smokeSensor", "fireSensor"],
["190501 00:01", "200", "700"],
["190501 00:02", "300", "750"],
["190502 00:01", "20", "780"],
["190502 00:02", "30", "630"],
[""],
["DeviceB"],
["Date/Time", "smokeSensor", "fireSensor"],
["190501 00:01", "100", "600"],
["190501 00:02", "110", "522"],
["190502 00:01", "120", ""],
["190502 00:02", "130", ""],
];
function exportToCSV(rows) {
let csvContent = ""
rows.forEach(function(rowArray) {
let row = rowArray.join(",")
csvContent += row + "\r\n"
});
var link = document.createElement("a")
document.body.appendChild(link)
// var blob = new Blob([csvContent], {type: "text/csv"});
var blob = new Blob([csvContent], {type: "xls/xlsx"})
var url = window.URL.createObjectURL(blob)
link.setAttribute("href", url)
link.setAttribute("download", "my_data.csv")
link.click() /* Download the data file named "my_data.csv". */
}
解决方案
CSV 不支持在工作表中分离数据。
我创建了一个名为ExcellentExport的JavaScript 库来将表或数组导出到CSV 或Excel。
excel 导出支持工作表:
ExcellentExport.convert({ anchor: this, filename: 'data_123.array', format: 'xlsx'}, [
{name: 'Sheet Name Here 1', from: {array: yourArray1}},
{name: 'Sheet 2', from: {array: yourArray2}},
]);
推荐阅读
- ruby - Ruby 获取一个运算符并使其作为一个运算符工作
- c# - 如何使用 FFMpeg (C#) 对数据流进行转码
- flutter - 如何填充图像颤振
- python - Pycharm 无法识别已编译的 .pyd,即使它在脚本运行时有效
- javascript - 找不到 FFMPEG,因为不再支持 FFMPEG 二进制文件
- sql - 删除带有外键的行时如何在数据库中保留一个条目
- javascript - 将点击发送到背景 div
- python - Selenium 找不到元素 Python
- html - 如何在文本周围放置一个框并允许用户使用 css 和 div 标签仅在段落上使用滚动条滚动
- html - 居中主导航并右对齐购物车