所下载的Excel中的阿拉伯字符有误

时间:2018-06-25 05:47:33

标签: javascript excel arabic

我正在尝试将数据导出到Javascript中的excel。下面是我使用的代码:

var createAndExport = function(data){
            var table = "<table><thead><tr><td>";
            var head = Object.keys(data[0]);
            for(var i=0;i<head.length;i++){
                table += head[i]+"</td><td>";
            }
            table += "</td></tr></thead><tbody>";
            for(var i=0;i<data.length;i++){
                table += "<tr>";
                for(var j=0;j<head.length;j++){
                    table += "<td>"+data[i][head[j]]+"</td>";
                }
                table += "</tr>";
            }
            table += "</tbody></table>";
            var uri = 'data:application/vnd.ms-excel;charset=utf-8,'+ table;

            var downloadLink = document.createElement("a");
            downloadLink.href = uri;
            downloadLink.download = "data.xls";

            document.body.appendChild(downloadLink);
            downloadLink.click();
            document.body.removeChild(downloadLink);
        }

此代码可以正常工作,并以excel格式下载数据。但是问题在于包含阿拉伯语单词的数据,它在下载的excel中像图像中的其他字符一样出现。 enter image description here

如何解决这个阿拉伯语单词?

1 个答案:

答案 0 :(得分:1)

编码信息也必须在HTML模板中:

var createAndExport = function(data){
            var table = "<head><meta charset='UTF-8'></head><table><thead><tr><td>";
...

请参见小提琴:https://jsfiddle.net/3fohpL9u/2/