在Web开发中,有时需要将网页中的HTML内容导出为Word文档(.doc或.docx格式),以供用户下载或打印。本文介绍一种基于原生HTML和JavaScript的简单实现方式。
通过构造一个包含HTML内容的Blob对象,并设置MIME类型为 application/msword,再利用 <a> 标签的 download 属性触发浏览器下载,即可实现“HTML导出为Word文档”。
注意:此方法生成的是兼容Word打开的HTML格式文档(.doc后缀),并非真正的.docx格式,但能满足大多数基础排版需求。
<button onclick="exportToWord()">导出为Word文档</button>
<script>
function exportToWord() {
const html = `<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'></head>
<body>
<h1>这是从HTML导出的Word文档</h1>
<p>当前时间:${new Date().toLocaleString()}</p>
</body></html>`;
const blob = new Blob(['\ufeff', html], {
type: 'application/msword'
});
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = '导出文档.doc';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(url);
}
</script>
点击下方按钮,将自动生成并下载一个包含当前时间的Word文档。
docxtemplater 或后端服务处理。