JS案例-导出数据到Excel


Nestbrowser JS脚本-导出数据到Excel的示例

1/** 2 * 数据数组, 二维数组, key为Excel的第一行表头, value 为对应的数据 3 */ 4const data = [ 5 { "title": "Nestbrowser", "data": "111" }, 6 { "title": "JS Rpa", "data": "222" }, 7 { "title": "Demo", "data": "333" }, 8]; 9/** 10 * path 为内置path库 11 * NestReportPath 为内置常量, 是Nestbrowser默认的rpa报告目录 12 */ 13const excelFile = path.normalize(`${NestReportPath}/demo.xlsx`); 14// console.log 的日志会记录到Nestbrowser的任务报告里面 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