首页 > 解决方案 > 数据表和 excelHtml5:我们发现一些内容有问题

问题描述

在 Excel 中打开文件时,使用 Datatables excelHtml5 按钮导出创建的每个文件都会发出以下消息警报。

我们发现“myfile.xlsx”中的某些内容存在问题。你想让我们尽可能多地恢复吗?如果您信任此工作簿的来源,请单击“是”。

我已经搜索了几天并尝试了各种方法,但我无法弄清楚是什么原因造成的。这是我正在使用的数据表和按钮版本:

数据表:1.10.18
按钮:1.5.6

下面是我的代码。有一些操作正在进行,但我在获得该代码之前就收到了该消息。

{
          extend: 'excelHtml5',
          autoFilter: false,
          filename: 'myfile',
          sheetName: 'myfile',
          header: false,
          footer: true,
          title: '',
          exportOptions: {
            columns: ':visible',
            format: {
                header: function ( data, column, row )
                {
                    return data.substring(data.indexOf("value")+15,data.indexOf("</option"));
                }
             }
          },
           customizeData: function(data){

                var periods = data.body.length/2;

                var ang_cnt=0, boat_cnt=0, counts=0, hours_cnt=0, shor_pr=0.00, boat_pr=0.00;
                var subtot1 = [], subtot2 = [];
                var TotalPressure = 0.00;

                for(var i=0;i<data.body.length; i++){

                    ang_cnt+=parseInt(data.body[i][1]);
                    boat_cnt+=parseInt(data.body[i][2]);
                    counts+=parseInt(data.body[i][3]);
                    hours_cnt+=parseInt(data.body[i][6]);
                    shor_pr+=parseFloat(data.body[i][7].replace(/[^\d\.]/g,''));
                    boat_pr+=parseFloat(data.body[i][8].replace(/[^\d\.]/g,''));

                    if(i == periods-1){
                        TotalPressure = shor_pr + boat_pr;
                        subtot1 = ['Total',ang_cnt,boat_cnt,counts,' ',' ',hours_cnt,shor_pr.toFixed(2),boat_pr.toFixed(2)];

                        ang_cnt=0;
                        boat_cnt=0;
                        counts=0;
                        hours_cnt=0;
                        shor_pr=0;
                        boat_pr=0;
                    }
                };
                TotalPressure += shor_pr + boat_pr;
                subtot2 = ['Total',ang_cnt,boat_cnt,counts,' ',' ',hours_cnt,shor_pr.toFixed(2),boat_pr.toFixed(2)];
                var totalPresRow = ['Shore-Boat Total Pressure',' ',' ',' ',' ',' ',' ',' ',TotalPressure.toFixed(2)];

                var desc = [
                    [' ','Anglers Counted',' ','Number of','Mean # of Anglers',' ','Total Hours','Total Pressure',' '],
                    ['<?=$report_name?>']
                ];
                data.body.unshift(data.header);

                for (var i = 0; i < desc.length; i++) {
                    data.body.unshift(desc[i]);
                };
                var weekendsubhead = ['Weekend Day'];
                var weekdaysubhead = ['Week Day'];
                data.body.splice(3,0,weekendsubhead);
                data.body.splice((periods+4),0,subtot1);
                data.body.splice((periods+5),0,weekdaysubhead);
                data.body.push(subtot2);
                data.body.push(totalPresRow);
            }
      }

我不确定我在寻找什么来找到导致问题的原因。有人有什么想法吗?

标签: exceldatatablesexport

解决方案


推荐阅读