如何在Javascript中创建从右向左的excel工作表

如何在Javascript中创建从右向左的excel工作表,javascript,html,excel,Javascript,Html,Excel,我正在尝试用javascript将html表格导出到excel,但当我单击导出按钮时,它成功导出,表格的方向从从右向左更改为从左向右。 如何将javascript中的此选项更改为从右向左导出 这是我的JS函数: function tablesToExcel(id) { var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel" lang="fa">'; tab_text = tab_t

我正在尝试用javascript将html表格导出到excel,但当我单击导出按钮时,它成功导出,表格的方向从从右向左更改为从左向右。 如何将javascript中的此选项更改为从右向左导出

这是我的JS函数:

function tablesToExcel(id) {

    var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel" lang="fa">';
    tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';

    tab_text = tab_text + '<x:Name>Report Sheet</x:Name>';
    //tab_text = tab_text + '<x:Direction><x:right-to-left></x:right-to-left></x:Direction>';

    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' dir='rtl'>";
    tab_text = tab_text + $('#'+id).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, 'Report file.xls');
        }
    }
    else {
        $('#test').attr('href', data_type + ', ' + encodeURIComponent(tab_text));
        $('#test').attr('download', 'Report file.xls');
    }
函数表ToExcel(id){
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+“”;
tab_text=tab_text+$('#'+id).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,'Report file.xls');
}
}
否则{
$('#test').attr('href',data_type+','+encodeURIComponent(制表符文本));
$('#test').attr('download','Report file.xls');
}

}

根据SpreadsheetML,为了为工作表指定RTL,您应该在工作表中写入以下内容:

<x:worksheet><x:sheetViews><x:sheetView rightToLeft=1></x:sheetView></x:sheetViews></x:worksheet>

我自己也没试过, 这是对“工作表”对象的引用,您可以自己查看