我使用belowcode将JSON
数据导出为excel。但是在导出时,并没有考虑其中一个列中的前导零。
例如:在JSON数据中 - 列数据显示为002536但是当它导出到excel时(当我们在excel文件中看到时)它显示为2536(删除前导零)。
我需要在导出的Excel中显示带前导零的数据。
if (response.status == 200) {
var reportTitle = "Final-" + $scope.ddlMonth + "-" + $scope.ddlYear;
JSONToXLConvertor(response.data.jvreport, reportTitle);
}
function JSONToXLConvertor(JSONData, reportTitle) {
var array = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;
var table = '';
var tr = '';
table = '<table width="100%" ><thead><tr>';
for (var rowCount = 1 ; rowCount < 2 ; rowCount++) {
for (var colHeader in array[rowCount]) {
table += '<th>' + colHeader.toUpperCase() + '</th>';
}
}
table += '</tr></thead><tbody>';
for (var i = 0; i < array.length; i++) {
var line = '<tr>';
for (var index in array[i]) {
line += '<td>' + array[i][index] + '</td>';
}
tr += line + '</tr>';
}
table += tr + '</tbody></table>';
table = table.replace(/<A[^>]*>|<\/A>/g, ""); //remove if u want links in your table
table = table.replace(/<img[^>]*>/gi, ""); // remove if u want images in your table
table = table.replace(/<input[^>]*>|<\/input>/gi, ""); // reomves input params
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE");
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // For IE
{
txtArea.document.open("txt/html", "replace");
txtArea.document.write(table);
txtArea.document.close();
txtArea.focus();
reportTitle = reportTitle + ".xls";
txtArea.document.execCommand("SaveAs", true, reportTitle);
}else {
var blob = new Blob([table], {
type: "application/vnd.ms-excel;charset=charset=utf-8"
});
// Call File Saver
$window.saveAs(blob, reportTitle); // For Other Browsers
}
}