vue3前端实现导入(excel文件)导出(word)文件
时间: 2023-12-06 16:02:22 浏览: 110
导入Excel文件可以使用xlsx库,它可以解析Excel文件并将其转换为JSON格式。以下是一个简单的示例:
```javascript
import XLSX from 'xlsx';
// 通过input[type=file]获取用户上传的文件
const input = document.querySelector('input[type=file]');
// 读取文件
const reader = new FileReader();
reader.readAsBinaryString(input.files[0]);
reader.onload = (event) => {
const data = event.target.result;
// 将文件内容转换为二进制数组
const workbook = XLSX.read(data, { type: 'binary' });
// 获取第一个Sheet
const sheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[sheetName];
// 将Sheet转换为JSON
const json = XLSX.utils.sheet_to_json(worksheet);
console.log(json);
};
```
导出Word文件可以使用docx库,它可以创建和编辑Word文档。以下是一个简单的示例:
```javascript
import { Document, Packer, Paragraph, TextRun } from 'docx';
// 创建一个新的文档
const doc = new Document();
// 添加段落
const paragraph = new Paragraph();
paragraph.addRun(new TextRun('Hello World'));
doc.addParagraph(paragraph);
// 将文档转换为二进制数组
const packer = new Packer();
const buffer = await packer.toBuffer(doc);
// 下载文件
const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' });
const url = URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = 'example.docx';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
```
以上是简单的示例,具体实现需要根据需求进行调整。
阅读全文