You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过ExcelJS读取Excel文件中的数据库连接字符串与命令文本?

提取Excel中的数据库连接字符串与命令文本

Excel的数据库连接信息存储在文件内部的xl/connections.xml中,ExcelJS本身没有直接提供提取这些信息的API,可通过以下两种方式实现:

方法1:直接解析Excel包内的connections.xml文件

Excel本质是压缩包,借助adm-zip解压后读取目标XML文件,再用xml2js解析内容:

const AdmZip = require('adm-zip');
const xml2js = require('xml2js');

const zip = new AdmZip('a.xlsx');
const connectionsXml = zip.readAsText('xl/connections.xml');

xml2js.parseString(connectionsXml, (err, result) => {
  if (err) throw err;
  const connections = result.connections.connection;
  connections.forEach(conn => {
    const connectionString = conn.$.connectionString;
    const commandText = conn.dbPr && conn.dbPr[0].$.commandText;
    console.log(`连接名称: ${conn.$.name}`);
    if (connectionString) console.log(`连接字符串: ${connectionString}`);
    if (commandText) console.log(`命令文本: ${commandText}`);
    console.log('---');
  });
});

方法2:使用SheetJS(xlsx库)提取

SheetJS提供了直接读取连接信息的封装能力,代码更简洁:

const XLSX = require('xlsx');

const workbook = XLSX.readFile('a.xlsx');
if (workbook.Connections) {
  workbook.Connections.forEach(conn => {
    console.log(`连接名称: ${conn.Name}`);
    if (conn.Connection) console.log(`连接字符串: ${conn.Connection}`);
    if (conn.CommandText) console.log(`命令文本: ${conn.CommandText}`);
    console.log('---');
  });
}

注:Excel中查看这些连接信息的位置为:「数据」选项卡 →「查询和连接」面板 → 选中目标连接后右键选择「连接属性」,在弹出窗口中查看「连接字符串」和「命令文本(查询)」

内容的提问来源于stack exchange,提问作者S. Bailey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 00:25:57