导出到excel不会导出前导零 - AngularJS

时间:2018-02-26 06:53:47

标签: jquery angularjs export-to-excel

我使用belowcode将JSON数据导出为ex​​cel。但是在导出时,并没有考虑其中一个列中的前导零。 例如:在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
    }
}

0 个答案:

没有答案