-1

I have created a report that consist a table with a data like 5/5 (means, 5 out of 5). Then after export the table into Excel using Javascript, it displays as 5-May.

Example

Quota

5/5

After export to Excel using Javascript

Quota

5-May

I need it to be 5/5 not 5-May

Here is the PHP code

 echo $balancequota."/".$data['quota'];

Here is the jQuery

    <script>
    var tableToExcel = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
        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>',
        base64 = function(s) {
            return window.btoa(unescape(encodeURIComponent(s)))
        },
        format = function(s, c) {
            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
            })
        }
    return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML
        }
        var dt = new Date();
        var year = dt.getFullYear();
        var postfix = year;
        document.getElementById("btnExport").href = uri + base64(format(template, ctx))
        document.getElementById("btnExport").download = 'report_' + postfix + '.xls';
    }
})()
</script>

So, is there a way avoid Microsoft Excel from automatically change 5/5 to 5-May?

Community
  • 1
  • 1
Syafiq AZ
  • 67
  • 1
  • 2
  • 11

2 Answers2

0

Add apostrophe. Then Excel will not convert values.

'5/5
Nurdin
  • 23,382
  • 43
  • 130
  • 308
user2736880
  • 94
  • 1
  • 3
  • You mean add apostrof before 5/5? Tried that. After export, the excel then display '5/5. Is there another way? – Syafiq AZ May 08 '14 at 03:48
0

use CDATA to avoid your javascript parse 5/5

Refer here: When is a CDATA section necessary within a script tag?

Community
  • 1
  • 1
Nurdin
  • 23,382
  • 43
  • 130
  • 308