vue3 xlsx.js xls文件转为对象数组遍历新增属性后再转为xls文件
时间: 2024-12-30 15:40:52 浏览: 12
在Vue3中,你可以使用xlsx.js库将XLSX文件转换为JavaScript对象数组,然后对数组中的每个对象添加新的属性,最后再把更新后的数据转换回XLSX文件。以下是简单的步骤:
1. 首先,安装必要的依赖:
```bash
npm install xlsx
```
2. 在Vue组件内,导入xlsx模块并读取XLSX文件:
```javascript
import XLSX from 'xlsx';
async function readExcelFile(file) {
const workbook = XLSX.read(file, { type: 'binary' });
const sheetNameList = workbook.SheetNames;
const data = await Promise.all(
sheetNameList.map(async (sheetName) => {
const sheet = workbook.Sheets[sheetName];
return XLSX.utils.sheet_to_json(sheet);
})
);
return data;
}
```
3. 对对象数组添加新属性并处理数据:
```javascript
function addNewProperty(data, newProperties) {
data.forEach((item) => {
for (const prop in newProperties) {
item[prop] = newProperties[prop];
}
});
return data;
}
// 示例中的newProperties是一个对象,包含你想添加的新属性和值
const newData = addNewProperty(originalData, {
additionalColumn: 'your_value',
});
```
4. 将更新后的数据写入新的XLSX文件:
```javascript
function writeExcelFile(workbook, filename) {
XLSX.writeFile(workbook, filename);
}
// 使用原始的工作簿对象,添加新数据,并写入新的文件
const updatedWorkbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(updatedWorkbook, JSON.stringify(newData), 'Sheet1');
writeExcelFile(updatedWorkbook, 'updated_file.xlsx');
```
阅读全文