暗黑技能 2021-11-11 11:00 采纳率: 0%
浏览 320
已结题

exceljs 动态产生excel并下载后提示“部分内容有问题,是否让我们尽量尝试修复”

最近做项目前端需要操作复杂的excel复合表头,后端只是把数据返回;前端动态产生excel并支持下载。
但是下载excel后问题如下:

img

点击“是”打开后变成修复的excel了。

img

现在不清楚哪里的问题,我上代码请求各位大咖帮忙分析下如何解决:

<script>
const ExcelJS = require('exceljs');
const FileSaver = require('file-saver');
export default {
 methods: {
  async downloadExcelFile() {
            const workbook = new ExcelJS.Workbook();
           let worksheet = workbook.addWorksheet('sheet1', {
                properties: {
                    showGridLines: true
                }
            }) ;
   worksheet.columns = [{
                    header: '序号',
                    key: 'num'
                }];
  for (var i = 1; i < 10; i++) {
                worksheet.addRow({
                    "num": i                
                });
            };
 await workbook.xlsx.writeBuffer().then((buffer) => {
                let blob = new Blob([buffer], {
                    type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'
                });
                FileSaver(blob, "ReportFile.xlsx");
            }).catch((error) => {
                rt.showErrorToast(error);
            });
}
}
}
</script>

或者使用如下代码下载excel问题还是一样的:

 //第二种下载方式:
            workbook.xlsx.writeBuffer().then(data => {
                var blob = new Blob([data], {
                    type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'
                });
                var url = window.URL.createObjectURL(blob);
                var a = document.createElement("a");
                document.body.appendChild(a);
                a.href = url;
                a.download = this.excelFileName;
                a.click();
                document.body.removeChild(a); // 下载完成移除元素
                window.URL.revokeObjectURL(href);
            });

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月19日
    • 创建了问题 11月11日

    悬赏问题

    • ¥15 2020长安杯与连接网探
    • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
    • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
    • ¥16 mybatis的代理对象无法通过@Autowired装填
    • ¥15 可见光定位matlab仿真
    • ¥15 arduino 四自由度机械臂
    • ¥15 wordpress 产品图片 GIF 没法显示
    • ¥15 求三国群英传pl国战时间的修改方法
    • ¥15 matlab代码代写,需写出详细代码,代价私
    • ¥15 ROS系统搭建请教(跨境电商用途)