better-sqlite3 excel批量插入
时间: 2024-06-16 13:01:04 浏览: 22
`better-sqlite3` 是一个 Node.js 的轻量级 SQLite3 驱动,它提供了更简洁、易用的接口来操作 SQLite 数据库。如果你想要在 Excel 文件中批量插入数据到 SQLite 中,通常会先将 Excel 数据读取到内存中的数据结构(如二维数组),然后使用 `better-sqlite3` 的 API 将这些数据插入数据库。
以下是一个简单的示例,展示了如何使用 `better-sqlite3` 和 `xlsx`(一个用于处理 Excel 的库)来批量插入数据:
```javascript
const sqlite3 = require('better-sqlite3');
const XLSX = require('xlsx');
// 打开或创建数据库
let db = new sqlite3.Database('./test.db', (err) => {
if (err) {
console.error(err.message);
return;
}
// 读取 Excel 文件
const workbook = XLSX.readFile('data.xlsx');
const sheet_name_list = workbook.SheetNames;
const data = sheet_name_list.length > 0 ? XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list]) : [];
// 创建表,如果不存在
const createTableSql = 'CREATE TABLE IF NOT EXISTS my_table (column1 INTEGER, column2 TEXT, ...);'; // 根据实际 Excel 数据填充列名
db.run(createTableSql);
// 批量插入数据
const batch = db.prepare('INSERT INTO my_table VALUES (?, ?, ...);');
data.forEach((row) => {
batch.run(row.column1, row.column2, ...); // 传递每行数据
});
// 提交事务(可选,如果没有错误则不需要)
batch.finalize();
db.close();
});
```