简介
在 Web 开发中,有时需要让用户将网页内容(HTML)导出为 Word 文档(.doc 或 .docx)。虽然浏览器原生不支持直接生成 .docx,但可以通过一些技巧实现简易导出。
使用 HTML + JavaScript 导出 Word(.doc)
以下是一个基于 application/msword MIME 类型的简单方法,适用于导出基础格式的 Word 文档:
<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>支持基本的HTML标签,如 <b>加粗</b>、<i>斜体</i> 等。</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);
}
</script>
⚠️ 注意:此方法生成的是旧版 .doc 格式,仅支持有限的 HTML/CSS,复杂样式可能无法正确显示。
替代方案建议
- 如需完整 .docx 支持,请使用后端库(如 Python 的 python-docx、Node.js 的 docxtemplater)。
- 前端可考虑导出为 PDF 再转 Word,或使用第三方 API(如 Google Docs API)。