问题描述
我需要将一些HTML导出到Word,并遇到以下链接: https://www.codexworld.com/export-html-to-word-doc-docx-using-javascript
代码如下。它产生一个.doc文件(旧的Word格式),但我更喜欢.docx。文章说,可以做一些小的修改,但没有说明如何做。有人知道如何进行此更改吗?
function Export2Doc(element,filename = ''){
var preHtml = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><Meta charset='utf-8'><title>Export HTML To Doc</title></head><body>";
var postHtml = "</body></html>";
var html = preHtml+document.getElementById(element).innerHTML+postHtml;
var blob = new Blob(['\ufeff',html],{
type: 'application/msword'
});
// Specify link url
var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html);
// Specify file name
filename = filename?filename+'.doc':'document.doc';
// Create download link element
var downloadLink = document.createElement("a");
document.body.appendChild(downloadLink);
if(navigator.msSaveOrOpenBlob ){
navigator.msSaveOrOpenBlob(blob,filename);
}else{
// Create a link to the file
downloadLink.href = url;
// Setting the file name
downloadLink.download = filename;
//triggering the function
downloadLink.click();
}
document.body.removeChild(downloadLink);
}
解决方法
尝试将网址“数据”更改为application/vnd.openxmlformats-officedocument.wordprocessing
。未经测试。
可能需要其他更改。 Google“ docx MIME类型”。