JS案例-导出数据到Excel
Espiderbrowser JS脚本-导出数据到Excel的示例
13
4const data = [
5 { "title": "Espiderbrowser", "data": "111" },
6 { "title": "JS Rpa", "data": "222" },
7 { "title": "Demo", "data": "333" },
8];
912
13const excelFile = path.normalize(`${NestReportPath}/demo.xlsx`);
14// console.log 的日志会记录到Espiderbrowser的任务报告里面
15console.log('- excelFile -', excelFile);
16
17// 使用内置xlsx库写入到Excel文件
18const exportExcel = (data, filename) => {
19 try {
20 const ws = XLSX.utils.json_to_sheet(data, { sheetStubs: true });
21 const wb = XLSX.utils.book_new();
22 XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
23 XLSX.writeFile(wb, filename);
24 } catch (error) {
25 console.log("- exportExcel - failed: " + error);
26 }
27};
28
29try {
30 // 内置 fs 库 , 判断写入的这个文件是否存在,有则先删除后创建,无则直接创建
31 fs.stat(excelFile, function (err, result) {
32 // 无则直接创建
33 if (!result) {
34 exportExcel(data, excelFile);
35 return;
36 }
37 // 有则先删除
38 fs.unlink(excelFile, (unErr) => {
39 // 删除成功; 删除的文件已经被打开也会导致删除文件失败
40 if (!unErr) {
41 exportExcel(data, excelFile);
42 }
43 })
44 })
45}
46catch (e) {
47 console.log("excel failed: " + e);
48}
49