【问题标题】:Prevent AutoCalculation in Columns when exporting data from table to excel sheet将数据从表导出到 Excel 工作表时防止列中的自动计算
【发布时间】:2018-04-28 23:29:45
【问题描述】:

我必须创建一个报告。我的数据库表中有一个列存储一些数学方程(如 -1-100),同时将数据从包含数据库数据的报告表导出到 excel 表。该列在 excel 表中给出的值类似于 (-101)(自动计算值)。我不希望这种情况发生,我希望将 Equation 导出到 excel。 下面是我将表格导出到 excel 的代码。我需要防止在 excel 表中自动计算。请帮助。

                var htmls = "";
                var uri = 'data:application/vnd.ms-excel;base64,';
                var template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>';
                var base64 = function (s) {
                    return window.btoa(unescape(encodeURIComponent(s)))
                };

                var format = function (s, c) {
                    return s.replace(/{(\w+)}/g, function (m, p) {
                        return c[p];
                    })
                };

               
                htmls = $('#PrintDiv').prop('outerHTML');
                var ctx = {
                    worksheet: 'Worksheet',
                    table: htmls
                }


                 var link = document.createElement("a");
                link.download = "WorkReport" + new Date().toISOString().replace(/[\-\:\.]/g, "") + ".xls";
                link.href = uri + base64(format(template, ctx));
               link.click();

【问题讨论】:

    标签: jquery html excel


    【解决方案1】:

    这听起来很明显,但您是否尝试过禁用自动计算?

    公式 > 计算选项 > 手动。

    【讨论】:

    • 我必须使用 jquery 来完成,我的报告从表中导出并直接下载
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 2010-11-07
    相关资源
    最近更新 更多