当前位置: 首页 > news >正文

JS宏连接数据库:使用Connections创建的对象

在上一章节中,我们学习了工作簿中的连接对象集合——Connections对象。通过该对象提供的Add方法或Add2方法,可以为当前工作簿创建数据连接。需要注意的是,最终生成的连接对象类型(如OLEDBConnection或ODBCConnection)取决于所使用的连接字符串类型:若连接字符串基于OLEDB协议,则生成OLEDBConnection对象;若基于ODBC协议,则生成ODBCConnection对象。

一、OLEDBConnection对象

OLEDBConnection是使用Connections结合OLEDB连接字符串创建产生的连接对象。例如:

function contest() {let connstr = "OLEDB;Provider=MSOLEDBSQL.1;Password=******;Persist Security Info=True;User ID=**;Initial Catalog=****;Data Source=*****;Use Encryption for Data=False;";let connectionName = "myDatabase80"; // 连接名称let description = "实例数据库"; // 对连接的简要描述console.clear();let query = "select distinct sj 市级 from uf_scrl where tbsj='2025-11-01'";let conection = ThisWorkbook.Connections.Add2(connectionName, description, connstr, query, xlCmdSql);let conn = conection.OLEDBConnection; conn.SaveAsODC("E:\\vscode\\wpsjs\\jsa_database\\myConnection.odc");conn.Refresh(true);conn.MaintainConnection = false; //关闭连接
}

显然上述就是一个通过OLEDB连接创建出来的OLEDBConnection。这里只是创建了这么一个对象,我们怎么通过js宏加载到工作表中去呢?也就是实现下面的操作:

二、将工作簿上的连接加载到工作表上

不管是OLEDBConnection还是ODBCConnection,他们都是Connections集合中的元素,因此加载方式也是相同的。

2.1、使用QueryTables进行加载

可以使用QueryTables.Add方法进行加载

function lodeConnections() {// 第一步使用Item方法获取工作簿上的连接,通过连接名称获取let connection = ThisWorkbook.Connections.Item("myDatabase80");// 第二步,调用QueryTables的Add方法let QueryTable = ThisWorkbook.Worksheets.Item("Sheet1").QueryTables.Add(connection, ThisWorkbook.Worksheets.Item("Sheet1").Range("A1"));QueryTable.Refresh(true);
}

注意,这里的第一个参数不再是我们在前面说的一个连接字符串,而是工作簿连接对象集合Connection中的某一个元素,第二个参数是加载位置,可以根据需求,加载到任意工作表,不过要保证与ThisWorkbook.Worksheets.Item("Sheet1").QueryTables对象在同一个工作表。执行效果如下图所示:

2.2、直接加载到数据透视表之中

function lodeToPivot() {// 第一步使用Item方法获取工作簿上的连接,通过连接名称获取let connection = ThisWorkbook.Connections.Item("myDatabase80");// 第二步,创建数据透视表let pvtCache = ThisWorkbook.PivotCaches().Create(xlExternal, connection, xlPivotTableVersion15);// 第三步加载数据pvtCache.CreatePivotTable(Range("B1"), "myPivotTable")
}

执行效果如下:

名称说明
xlConsolidation3多重合并计算数据区域。
xlDatabase1ET 列表或数据库。
xlExternal2其他应用程序中的数据。
xlPivotTable-4148与另一数据透视表相同来源。
xlScenario4数据基于使用方案管理器创建的方案。

上表是官方文档中,对于创建数据透视表时的枚举常量介绍,显然可以使用xlExternal来表示你数据透视表的数据源来自外部数据(可以是web,数据库等等,正好符合Connections集合中的元素介绍)。

注意:直接加载到数据透视表,不会在工作簿中创建新的连接对象,而加载到工作表中会创建新对象如下图所示:

三、小结

当前章节未对 OLEDBConnection 和 ODBCConnection 的具体属性与方法展开详细说明。事实上,我们在先前学习 QueryTable 相关内容时,已覆盖了二者多数共通的属性与方法。考虑到这部分内容存在较高重合度,为避免重复讲解,本章不再赘述。大家只需重点掌握如何将工作簿中的连接加载至工作表即可。

如果不太清楚可以去查阅相关官方文档。

http://www.dtcms.com/a/606723.html

相关文章:

  • 如何建立公司网站是什么自己的服务器做网站域名解析
  • 设计一款高效的短链服务系统
  • 算法33.0
  • 建造个网站花多少钱今天福州头条新闻
  • 优秀简历制作网站wordpress主题更换字体教程 hu
  • 如何在沟通不畅导致误解后进行修复
  • c语言编译器哪个好用 | 探讨选择合适C语言编译器的标准与建议
  • 广州十度网络网站开发最好潍坊网站seo
  • 38.附近商户实现
  • 做网站 帮别人卖服务器成都网站设计
  • 园林景观网站源码做网站前应该先出图
  • Zookeeper 基础入门与应用场景解析
  • 雅虎做网站推广网站设计网页设计
  • cms建设网站官方网站的优势
  • c语言printf输出控制符
  • 数据库三大范式详解
  • 做精酿啤酒购买的网站竞价广告
  • JAVA国际版二手车交易二手车市场系统源码支持Android+IOS+H5+APP
  • 做电脑网站手机能显示不出来seo网络推广企业
  • 织梦网站首页打开慢怎么注册一个域名
  • 关于图的算法题总结
  • HarmonyOS:动画衔接
  • 百度收录不了网站建设网站注意实现
  • 方寸之间藏智慧:家用电器的进化与生活革新
  • 智能手机市场再次洗牌,远控何以成为数码生活新“连接器”?
  • 网站建设宣传软文范例新洲网站建设
  • 建旅游网站费用明细网站建设公司 优势
  • CSS笔记
  • 个人网站怎么建立要多少钱宣传册
  • Plaxis岩土工程全模块Python自动化建模与案例,涵盖塑性、渗流、固结、动力、稳定安全及热力TM等核心问题