antd导入excel
时间: 2023-09-14 17:14:40 浏览: 25
要在antd中导入excel,你可以使用第三方库,如`xlsx`和`file-saver`。
首先,安装这两个库:
```
npm install xlsx file-saver --save
```
然后,你可以创建一个`handleDownload`函数来处理下载:
```javascript
import XLSX from 'xlsx';
import FileSaver from 'file-saver';
function handleDownload() {
// 创建工作簿和工作表
const workbook = XLSX.utils.book_new();
const worksheet = XLSX.utils.json_to_sheet(data);
// 将工作表添加到工作簿
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// 将工作簿转换为二进制文件并下载
const wbout = XLSX.write(workbook, { bookType: 'xlsx', type: 'binary' });
const fileName = 'example.xlsx';
FileSaver.saveAs(new Blob([s2ab(wbout)], { type: 'application/octet-stream' }), fileName);
}
// 将字符串转换为ArrayBuffer
function s2ab(s) {
const buf = new ArrayBuffer(s.length);
const view = new Uint8Array(buf);
for (let i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xff;
return buf;
}
```
在这个函数中,我们首先创建了一个工作簿和工作表,然后将工作表添加到工作簿中。接下来,我们将工作簿转换为二进制文件并使用`FileSaver`库下载。
你可以将`handleDownload`函数绑定到一个按钮上,当用户点击按钮时,将会下载一个名为`example.xlsx`的文件。注意,`data`变量是你要导出的数据数组。
```jsx
<Button onClick={handleDownload}>导出 Excel</Button>
```
这样就可以在antd中导出excel了。