jquery - 将数据从表导出到 Excel 工作表时防止列中的自动计算
问题描述
我必须创建一个报告。我的数据库表中有一个列存储一些数学方程(如-1-100),同时将数据从包含数据库数据的报告表中导出到 excel 表中。excel 表中的该列正在给出像(-101)这样的值(自动计算值)。我不希望这种情况发生,我希望将方程导出到 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();
解决方案
这听起来很明显,但是您是否尝试过禁用自动计算?
公式 > 计算选项 > 手动。
推荐阅读
- css - 反应混合单位错误:无法在 css calc() 函数中一起计算 vw 和 px
- c++ - 调试在另一个应用程序中“使用”的控制台 ChessEngine.exe(国际象棋 GUI)
- javascript - 在原型上的多个函数之间共享状态
- css - 在小屏幕上的下一行制作按钮,但在 Bootstrap 4 的大屏幕上保持在同一行
- dart - 按索引更改映射条目值
- c# - 我应该如何“等待”C# Polly 策略列表?
- android - 如何在 AndroidManifest.xml 中包含库中的服务
- javascript - 如何使用 v-for 有条件地显示图标?
- laravel - 如何在 Laravel 中的 URL 中传递值
- amazon-web-services - 多个容器共享单个 GPU