Javascript 将html表格导出为word文件并更改文件方向

Javascript 将html表格导出为word文件并更改文件方向,javascript,jquery,html,ms-word,export,Javascript,Jquery,Html,Ms Word,Export,我有jquery功能,可以将html表格导出到word文件。该函数工作得很好,但我需要将word文件旋转到landsacpe方向。有人能帮我吗 以下是js函数: <SCRIPT type="text/javascript"> $(document).ready(function () { $("#btnExport").click(function () { var htmltable= document.getElementById('tblExpo

我有jquery功能,可以将html表格导出到word文件。该函数工作得很好,但我需要将word文件旋转到landsacpe方向。有人能帮我吗

以下是js函数:

    <SCRIPT type="text/javascript">
$(document).ready(function () {
    $("#btnExport").click(function () {
        var htmltable= document.getElementById('tblExport');
        var html = htmltable.outerHTML;
        window.open('data:application/msword,' + '\uFEFF' + encodeURIComponent(html));
    });
});
  Response.AddHeader("Content-Disposition", "attachment;filename=myfilename.docx");

$(文档).ready(函数(){
$(“#btnExport”)。单击(函数(){
var htmltable=document.getElementById('tblExport');
var html=htmltable.outerHTML;
open('data:application/msword,'+'\uFEFF'+encodeURIComponent(html));
});
});
AddHeader(“内容处置”,“附件;文件名=myfilename.docx”);

将HTML导出到Microsoft Word 您可以通过在导出的HTML中包含CSS来设置页面方向、纸张大小和许多其他属性。有关可用样式的列表,请参见某些样式具有依赖项。例如,要设置mso页面方向,还必须设置页面大小,如下面的代码所示

更新:

在FireFox、Chrome、Opera、IE10-11中使用Word 2010-2013进行测试。轻微的代码更改,使其与Chrome和IE10配合使用。不适用于旧浏览器(我认为这是不可能的,因为您不是从头开始创建word文档,只是将HTML内容作为word文档发送给响应。@Nimesh-如果您创建与word兼容的HTML并使用MS Office CSS样式,这是可能的。@Martynas先生,您找到了将
.doc
文件导出为
纵向
横向
À4
因为我打开文件时,下面的答案是在
网页布局中
所以我如何解决这个问题?它工作得很好,但即使我将blob转换为base64,我也没有文件扩展名(我需要base64而不是即时下载)。你能帮我解决这个问题吗???@chournsolidet-这有帮助吗?@Roberto它不适用于图像…看看这个jsfiddle@ShaMoh-不幸的是,Word不接受数据uri图像。最简单的解决方案是将图像src设置为实际的url图像源(jpg、gif、png)。此页面可能会有所帮助:Roberto,你真是太棒了。谢谢。非常高兴你也提供了一个非jQuery解决方案。使用此页面的人的提示-它有助于使文件名变得有用。link.download='QuizResults';if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(blob,'QuizResults.doc');//IE10-11
     @page WordSection1{
         mso-page-orientation: landscape;
         size: 841.95pt 595.35pt; /* EU A4 */
         /* size:11.0in 8.5in; */ /* US Letter */
     }
     div.WordSection1 {
         page: WordSection1;
     }
 function export2Word( element ) {

   var html, link, blob, url, css;

   css = (
     '<style>' +
     '@page WordSection1{size: 841.95pt 595.35pt;mso-page-orientation: landscape;}' +
     'div.WordSection1 {page: WordSection1;}' +
     '</style>'
   );

   html = element.innerHTML;
   blob = new Blob(['\ufeff', css + html], {
     type: 'application/msword'
   });
   url = URL.createObjectURL(blob);
   link = document.createElement('A');
   link.href = url;
   link.download = 'Document';  // default name without extension 
   document.body.appendChild(link);
   if (navigator.msSaveOrOpenBlob ) navigator.msSaveOrOpenBlob( blob, 'Document.doc'); // IE10-11
       else link.click();  // other browsers
   document.body.removeChild(link);
 };
<button onclick="export2Word(window.docx)">Export</button>
<div id="docx">
  <div class="WordSection1">

     <!-- The html you want to export goes here -->

  </div>
</div>