基于没有 Excel 功能的 Excel 文件更新表格?

Posted

技术标签:

【中文标题】基于没有 Excel 功能的 Excel 文件更新表格?【英文标题】:Updating a table based on an Excel file without excel functionality? 【发布时间】:2016-04-25 22:33:11 【问题描述】:

好的,所以我基本上有一个巨大的 Excel 列表,其中包含两列,ID 和 Value。我想在我的 SQL 中更新一个 Employee 表,并在该表中设置一个等于 excel 文件中的值的列,其中 excel 文件的 ID 等于 Employee 表的 ID。

我查看了其他类似的问题,他们使用 OpenRowSet 和其他 SQL excel 功能,但不幸的是,我们的 DBA 似乎没有安装任何这些功能。我可以做些什么来替代更新该表?

至于我所尝试的,我创建了两个 XML 列表并将数据库的每一列分隔到一个临时表中,所以现在我有两个临时表,一个用于每个 excel 列,但现在我正在阅读结合两个没有通用标识符的表是非常糟糕的做法,所以我回到了第一格。

【问题讨论】:

我理解正确吗?您不允许向/在 SQL 服务器上发送/执行 T-SQL 命令吗?或者您实际上是否允许直接查询 SQL 服务器,但在 VBE 中您找不到对Microsoft ActiveX Data Objects 2.X or 6.0 Libraray 的引用?或者是别的什么? 我找不到参考是问题所在。 如果您找不到 ADO 库(通常随 Windows 提供),那么您可以从以下源免费安装它:support.microsoft.com/en-us/kb/168335 但在此之前。尝试运行以下代码行,看看是否收到错误消息:Dim conn1 As Object: Set conn1 = CreateObject("ADODB.Connection")。如果运行没有问题,那么您肯定已经安装了 ADO 并且可以使用它。 对不起,我对这些数据库中的一些东西不是很了解。我尝试在我的计算机(Windows 10)上安装它,但安装程序没有运行。看起来它适用于较旧的操作系统。 您是否安装了 MS Office(包括 MS Access)?如果是这样,ADO 也会自动附带 MS Access:allenbrowne.com/ser-38.html 另外,您是否尝试过运行上述代码行?基本问题是:如果您不能使用 ADO 或 DAO 向 SQL 服务器发送查询,那么您无法将表发送到服务器(除非您的管理员在 SQL 服务器上运行 SSIS 并将包写入阅读您的文件)。然而,我严重怀疑它们都不可用! 【参考方案1】:

您可以使用 SSIS 轻松做到这一点。您可以使用 Excel 源、查找转换或合并连接和 OLE DB 目标。

【讨论】:

以上是关于基于没有 Excel 功能的 Excel 文件更新表格?的主要内容,如果未能解决你的问题,请参考以下文章

使用Apache POI基于csv表更新Excel工作表值

使用 PLSQL 更新 Excel 单元格

Laravel Excel 实现 Excel-CSV 文件导入导出功能

下载Excel文件功能通过火狐浏览器下载没有后缀名

个人永久性免费-Excel催化剂功能第115波-wordpdfExcelppthtml等文件互转

excel操作如何在网页中实现