Javascript 将html表格导出为word文件并更改文件方向
我有jquery功能,可以将html表格导出到word文件。该函数工作得很好,但我需要将word文件旋转到landsacpe方向。有人能帮我吗 以下是js函数: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
<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>