首页 > 解决方案 > 将 Excel 数据上传到 Microsoft SQL Server

问题描述

我正在尝试读取 excel 数据并将其插入 SQL Server 数据库。我正在使用 npm 包mssql来做同样的事情。还使用 XLSX 读取 Excel 数据。

但是我不断收到同样的错误

ErrorMessageToken { 名称:'ERROR',事件:'errorMessage',编号:102,状态:1,类:15,消息:''?' 附近的语法不正确。',serverName:'myservername',procName:'',lineNumber :1 } },名称:'RequestError',编号:102,lineNumber:1,状态:1,类:15,serverName:'myservername',procName:'',previousErrors:[] }

我的代码:

const filePath = path.join(__dirname, 'demo.XLSX')
const workbook = XLSX.readFile(filePath)
const [firstSheetName] = workbook.SheetNames
const worksheet = workbook.Sheets[firstSheetName]

const rows = XLSX.utils.sheet_to_json(worksheet, {
    raw: true, // Use raw values (true) or formatted strings (false)
    header: 1, // Generate an array of arrays ("2D Array")
})

const pool = await connect({
    user: process.env.dbUser,
    password: process.env.dbPassword,
    server: process.env.dbServer,
    database: process.env.dbName,
    options: {
            encrypt: true,
            enableArithAbort: true,
    },
})

const query = `INSERT INTO TableName (Col1, Col2, Col3, Col4, Col5) VALUES ?  `
const result = await pool.request().query(query, [rows])
// also tried ...rows, [[rows]], [rows.values()]
console.log(result)

任何帮助深表感谢。谢谢

编辑:也尝试使用批量插入但没有成功,尝试了工作正常的单个插入,但是一旦我移动到多个插入,它就会出错。如果这种方法不起作用,我还有其他方法可以完成任务吗?

标签: node.jssql-serversql-insert

解决方案


推荐阅读