esportare la tabella html come file word e cambiare l’orientamento del file

Ho una funzione jquery che esporta la tabella html in un file word. La funzione funziona alla grande, ma ho bisogno di ruotare un file word in orientamento landsacpe. Qualcuno può aiutarmi?

Ecco la funzione js:

 $(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"); 

Esporta HTML in Microsoft Word

È ansible impostare l’orientamento della pagina, le dimensioni della carta e molte altre proprietà includendo il CSS nel codice HTML esportato. Per un elenco di stili disponibili, consultare Proprietà di stile con prefisso MS Office Alcuni stili hanno dipendenze. Ad esempio, per impostare mso-page-orientation è necessario anche impostare la dimensione della pagina come mostrato nel codice sottostante.

aggiornato:
Testato con Word 2010-2013 in FireFox, Chrome, Opera, IE10-11. Cambiamenti di codice minori per funzionare con Chrome e IE10. Non funzionerà con i browser legacy (IE <10) che mancano di oggetto window.Blob. Vedi anche questo post in SO se ricevi un errore "createObjectURL non è una funzione": https://stackoverflow.com/a/10195751/943435

  @page WordSection1{ mso-page-orientation: landscape; size: 841.95pt 595.35pt; /* EU A4 */ /* size:11.0in 8.5in; */ /* US Letter */ } div.WordSection1 { page: WordSection1; } 

Per visualizzare una dimostrazione funzionante completa vedi: https://jsfiddle.net/78xa14vz/3/

Il Javascript usato per esportare in Word:

  function export2Word( element ) { var html, link, blob, url, css; css = ( '' ); 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); }; 

E l’HTML: