将 Excel 工作表保存到 SQL 中
Posted
技术标签:
【中文标题】将 Excel 工作表保存到 SQL 中【英文标题】:Save Excel sheet into SQL 【发布时间】:2010-06-30 06:59:02 【问题描述】:Excel 在“数据”选项卡中有一个“获取外部数据”功能区栏,我们可以在其中选择从 SQL 数据库中导入表。这个过程对我来说效果很好。但我的问题是,有没有办法将这些数据保存回 SQL 中? Excel 是否提供了一些 API 来促进此类函数的编码,而无需解析所有内容并从头开始?
谢谢
【问题讨论】:
【参考方案1】:它可能不是您正在寻找的解决方案,但我很久以前发布了一些 VBA 代码,它将在 Excel 中获取一个范围并将其转换为 XML 并构建 SQL 以将该数据放入 SQL 中的临时表中服务器。如果您有兴趣,这里是link。
【讨论】:
【参考方案2】:最简单的方法是使用 SSMS 中的导入功能。您可以选择要使用的工作表、自定义列映射等。如果创建一个 SSIS,您可以在需要时进一步操作。但是,这种方法是从 Sql 中提取的,而不是从 Excel 中提取的,如果您想这样做,则必须编写一些 VBA 代码来为您完成。
【讨论】:
如果每次更改的数据很少,我是否可以在 VBA 中编写某种连接器,以便在 SQL 表中更新每个更改,而不是获取整个 Excel 表并在 SQL 中重写所有内容? 您必须编写所有逻辑代码,检测单元格是否脏,然后运行相关更新。代码不会太难,但有很多事情需要考虑——正确的数据库、表、关键是什么、你如何检测到发生了什么变化——..***.com/questions/2295225/…【参考方案3】:非编程方式:
http://office.microsoft.com/en-us/excel-help/connect-to-import-sql-server-data-HA010217956.aspx
以编程方式——我只能想到 MSSQL 中的 OpenRowSet 函数:
http://www.mssqltips.com/tip.asp?tip=1540
http://www.sql-server-helper.com/tips/read-import-excel-file-p01.aspx
Using openrowset to read an Excel file into a temp table; how do I reference that table?
【讨论】:
以上是关于将 Excel 工作表保存到 SQL 中的主要内容,如果未能解决你的问题,请参考以下文章