Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以UTF-8格式将html表格导出到Excel文件_Javascript_Html_Excel_Utf 8 - Fatal编程技术网

Javascript 以UTF-8格式将html表格导出到Excel文件

Javascript 以UTF-8格式将html表格导出到Excel文件,javascript,html,excel,utf-8,Javascript,Html,Excel,Utf 8,我正在使用上面的代码将html表导出到excel文件 <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8"> <meta charset="UTF-8" /> <script src="https://ajax.googleapis.com

我正在使用上面的代码将html表导出到excel文件

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">
    <meta charset="UTF-8" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script lang="js">
        function fnExcelReport() {
            var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
            tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';

            tab_text = tab_text + '<x:Name>Test Sheet</x:Name>';

            tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
            tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';

            tab_text = tab_text + "<table border='1px'>";
            tab_text = tab_text + $('#myTable').html();
            tab_text = tab_text + '</table></body></html>';

            var data_type = 'data:application/vnd.ms-excel';

            var ua = window.navigator.userAgent;
            var msie = ua.indexOf("MSIE ");

            if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
                if (window.navigator.msSaveBlob) {
                    var blob = new Blob([tab_text], {
                        type: "application/csv;charset=utf-8;"
                    });
                    navigator.msSaveBlob(blob, 'Test file.xls');
                }
            } else {
                $('#test').attr('href', data_type + ', ' + encodeURIComponent(tab_text));
                $('#test').attr('download', 'Test file.xls');
            }

        }
    </script>
</head>
<body>
    <a href="#" id="test" onClick="javascript:fnExcelReport();">download</a>

    <table id="myTable">
        <thead>
            <tr>
                <td style="padding-right: 30px;"><b>שם פרטי</b>

                </td>
                <td style="padding-right: 30px;"><b>גיל</b>

                </td>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Tester1</td>
                <td>30</td>
            </tr>
            <tr>
                <td>Tester2</td>
                <td>29</td>
            </tr>
            <tr>
                <td>Tester3</td>
                <td>17</td>
            </tr>
        </tbody>
    </table>
</body>

函数fnExcelReport(){
var tab_text='';
tab_text=tab_text+“”;
tab_text=tab_text+‘测试表’;
tab_text=tab_text+“”;
tab_text=tab_text+“”;
tab_text=tab_text+“”;
tab_text=tab_text+$('#myTable').html();
tab_text=tab_text+“”;
var data_type='data:application/vnd.ms excel';
var ua=window.navigator.userAgent;
变量msie=ua.indexOf(“msie”);
如果(msie>0 | |!!navigator.userAgent.match(/Trident.*rv \:11\。/){
if(window.navigator.msSaveBlob){
var blob=新blob([tab_text]{
类型:“应用程序/csv;字符集=utf-8;”
});
msSaveBlob(blob,'testfile.xls');
}
}否则{
$('#test').attr('href',data_type+','+encodeURIComponent(制表符文本));
$('#test').attr('download','testfile.xls');
}
}
שם פרטי
גיל
测试员1
30
测试员2
29
测试员3
17

它工作得很好,但是当我输入希伯来文字符时,我会遇到编码问题


如何将此文件编码为UTF-8编码,以使所有文本都能按需要显示?

当您将
添加到主HTML文件时,是否尝试使用变量
tab_text
将其添加到HTML/Excel文件中的Head元素?即
tab_text=tab_text+''是的,它工作!谢谢你能检查一下相关的线程吗?答案已经存在,可能存在重复