一个对象数组,运用js-xlsx导出为excel
时间: 2024-01-21 14:19:29 浏览: 156
你可以使用 js-xlsx 库来将一个对象数组导出为 Excel 文件,下面是一个简单的示例代码:
```javascript
// 引入 js-xlsx 库
const XLSX = require('xlsx');
// 定义一个对象数组
const data = [
{ name: '张三', age: 20, gender: '男' },
{ name: '李四', age: 25, gender: '女' },
{ name: '王五', age: 30, gender: '男' },
];
// 创建一个工作簿
const workbook = XLSX.utils.book_new();
// 将数据转换为工作表
const worksheet = XLSX.utils.json_to_sheet(data);
// 将工作表添加到工作簿中
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
// 导出 Excel 文件
XLSX.writeFile(workbook, 'data.xlsx');
```
在上面的代码中,我们首先定义了一个对象数组 `data`,然后创建了一个工作簿 `workbook`,并将对象数组转换为工作表 `worksheet`,最后将工作表添加到工作簿中,并将工作簿保存为 Excel 文件。你可以根据自己的需要修改数据和文件名。
相关问题
js-xlsx 导出
以下是使用js-xlsx导出Excel的示例代码:
```javascript
import XLSX from 'xlsx';
// 定义数据
var _data = [
["id", "name", "value"],
[1, "sheetjs", 7262],
[2, "js-xlsx", 6969]
];
// 将数据转换为工作表
const ws = XLSX.utils.aoa_to_sheet(_data);
// 创建工作簿并添加工作表
const wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
// 将工作簿保存为文件
XLSX.writeFile(wb, 'SheetJS.xlsx');
```
这段代码首先导入了js-xlsx库,然后定义了一个包含数据的二维数组`_data`。接下来,使用`XLSX.utils.aoa_to_sheet`方法将数据转换为工作表对象`ws`。然后,创建一个新的工作簿对象`wb`,并使用`XLSX.utils.book_append_sheet`方法将工作表添加到工作簿中。最后,使用`XLSX.writeFile`方法将工作簿保存为名为`SheetJS.xlsx`的文件。
js-xlsx 导出详细使用
js-xlsx 是一个用于在浏览器中导入导出 Excel 文件的 JavaScript 库。下面是使用 js-xlsx 导出 Excel 文件的详细步骤:
1. 首先,在 HTML 文件中引入 js-xlsx:
```html
<script src="https://cdn.bootcss.com/xlsx/0.15.1/xlsx.full.min.js"></script>
```
2. 在 JavaScript 中创建要导出的数据。数据可以是数组、JSON 对象等。
```javascript
var data = [
["姓名", "年龄", "性别"],
["张三", 18, "男"],
["李四", 20, "女"],
["王五", 22, "男"]
];
```
3. 创建一个 Workbook 对象,并向其中添加一个 Sheet。
```javascript
var workbook = XLSX.utils.book_new();
var sheet = XLSX.utils.aoa_to_sheet(data);
XLSX.utils.book_append_sheet(workbook, sheet, "Sheet1");
```
4. 将 Workbook 对象转换为二进制数据。
```javascript
var wbout = XLSX.write(workbook, { bookType: "xlsx", type: "binary" });
```
5. 将二进制数据转换为 Blob 对象。
```javascript
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i = 0; i < s.length; i++) {
view[i] = s.charCodeAt(i) & 0xff;
}
return buf;
}
var blob = new Blob([s2ab(wbout)], { type: "application/octet-stream" });
```
6. 创建一个链接,并将 Blob 对象赋值给链接的 href 属性。
```javascript
var link = document.createElement("a");
link.href = URL.createObjectURL(blob);
link.download = "data.xlsx";
```
7. 点击链接,即可下载 Excel 文件。
```javascript
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
```
完整代码如下:
```javascript
var data = [
["姓名", "年龄", "性别"],
["张三", 18, "男"],
["李四", 20, "女"],
["王五", 22, "男"]
];
var workbook = XLSX.utils.book_new();
var sheet = XLSX.utils.aoa_to_sheet(data);
XLSX.utils.book_append_sheet(workbook, sheet, "Sheet1");
var wbout = XLSX.write(workbook, { bookType: "xlsx", type: "binary" });
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i = 0; i < s.length; i++) {
view[i] = s.charCodeAt(i) & 0xff;
}
return buf;
}
var blob = new Blob([s2ab(wbout)], { type: "application/octet-stream" });
var link = document.createElement("a");
link.href = URL.createObjectURL(blob);
link.download = "data.xlsx";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
```
阅读全文