前端使用NPOI将csv文件的内容传到后端Controller,代码怎么写
时间: 2024-09-11 19:19:16 浏览: 28
前端使用NPOI库(对于.NET平台而言)处理CSV文件并发送给后端Controller,首先需要安装NPOI库(如NPOI.OpenXmlFormats或NPOI.HSSF)的依赖。这里是一个简单的示例,展示如何在前端异步读取CSV内容并POST到后端Controller:
```javascript
// 引入必要的库
import axios from 'axios';
const NPOI = require('npoi');
// 读取CSV文件
async function readFileAsArrayBuffer(file) {
try {
const { buffer } = await file.arrayBuffer();
// 使用NPOI转换成字符串数组
const csvData = NPOI.SS.Util.csvToArray(buffer.toString('utf8'));
// 发送POST请求到后端
const formData = new FormData();
formData.append('csvContent', JSON.stringify(csvData));
await axios.post('/api/controller/csvHandler', formData);
} catch (error) {
console.error('Error reading CSV:', error);
}
}
// 当文件选择事件触发时,调用这个函数
document.getElementById('csvFileInput').addEventListener('change', async (e) => {
if (e.target.files.length > 0) {
const file = e.target.files[0];
await readFileAsArrayBuffer(file);
}
});
```
这里的`/api/controller/csvHandler`是你后端Controller的URL路径。