因最近项目需求--生成报表,后台java生成太麻烦,所以上网搜了下,找到了前端生成的方法。
需要用到Angular的filesaver。
首先若无此插件运行终端联网下载一下:npm install file-saver --save
然后在想要生成报表的ts中引入该module:import { saveAs } from "file-saver";
编写调用方法:
exportTable() {
const blob = new Blob([document.getElementById('exportableTable').innerHTML], {
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"
});
saveAs(blob, 'test.xls');
}
然后在想要生成报表的上一级的div中添加id,id内容为exportTable()方法中document.getElementById(“id内容”),否则会报错。
将此方法用按钮或者其他方法触发即可。
不过此方法生成的报表样式上过于凌乱,目前样式修改研究ing~~~