ie瀏覽器再匯出html表格的資料到excel時,由于某些列為長數字,匯入excel以后,數字變成了科學計數法,資料表格比較復雜,所以用了copy的方式,如下:
html表格內容:

匯出后的結果:
5.82201582202582E+23 導致資料不一致
js代碼:
var curTbl = document.getElementById(tableid);
var oXL = new ActiveXObject("Excel.Application"); //創建AX物件excel
var oWB = oXL.Workbooks.Add();
var xlsheet = oWB.Worksheets(1);
var sel = document.body.createTextRange();
sel.moveToElementText(curTbl);
// sel.collapse(true);
// sel.select();
sel.select;
sel.execCommand("Copy");
sel.columns.nu
xlsheet.Paste();
oXL.Visible = true;
try {
var fname = oXL.Application.GetSaveAsFilename("資料明細.xls", "Excel Spreadsheets (*.xls), *.xls");
} catch (e) {
console.log("Nested catch caught " + e);
} finally {
oWB.SaveAs(fname);
oWB.Close(savechanges = false);
oXL.Quit();
oXL = null;
idTmr = window.setInterval("Cleanup();", 1);
}
網上查了另外一種方式是這么設定的,但是我的表格合并列每個都不一樣,不能用讀取行的方式來設定:oSheet.Cells(i+1,j+1).NumberFormatLocal = "@";
看下哪位大神指導怎么設定為文本格。。
uj5u.com熱心網友回復:
或者有支持IE10、11的匯出html的table表格為Excel的其他方式也行轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/116950.html
標籤:JavaScript
