【问题标题】:How to export data from Excel spreadsheet to Sql Server 2008 table如何将数据从 Excel 电子表格导出到 Sql Server 2008 表
【发布时间】:2011-03-29 07:08:27
【问题描述】:

我想将 Excel 文件中的数据 - 假设 Excel 2003 / .xls - 导入到 Sql Server 2008.

已尝试将链接服务器添加到 JET OLE DB Access 驱动程序,当然它在 64 位计算机上失败。 但是当我尝试在试验时删除链接服务器时,还有另一个错误提示链接服务器已经/仍然存在!

我也尝试将 Excel 驱动程序更改为 32 位(regedit 工具),但不确定它是否在做任何事情,同样的错误即将出现!

更多细节: 说 Excel 文件中的 Table1 有 5 列。 我想再次使用 5 列映射到 Database.dbo.Table1,但表中的名称不同。 有没有办法做这样的导入?

【问题讨论】:

    标签: sql sql-server-2008 import-from-excel


    【解决方案1】:

    在 SQL Server Management Studio 中,打开对象资源管理器,转到要将数据加载到的数据库,右键单击,然后选择任务 > 导入数据。

    这将打开导入数据向导,该向导通常非常适合从 Excel 导入。您可以选择一个 Excel 文件,选择要从中导入数据的工作表,您可以选择将数据存储到哪个表中,以及列将是什么。确实很灵活。

    您可以一次性运行它,也可以将它作为 SQL Server 集成服务 (SSIS) 包存储到您的文件系统或 SQL Server 本身中,然后一遍又一遍地执行它(甚至计划在使用 SQL 代理在给定时间运行)。

    更新:是的,是的,是的,您可以做所有您一直要求的事情 - 您是否至少尝试过一次来运行该向导??

    好的,它来了 - 一步一步:

    第 1 步:选择您的 Excel 源

    第 2 步:选择您的 SQL Server 目标数据库

    第 3 步: 在 SQL Server 数据库中选择源工作表(来自 Excel)和目标表;查看“编辑映射”按钮!

    第 4 步:检查(并根据需要更改)Excel 列到表中 SQL Server 列的映射:

    第 5 步:如果您想稍后使用它,请将您的 SSIS 包保存到 SQL Server:

    第 6 步: - 成功!这是在 64 位机器上运行的,就像一个魅力 - 去做吧!

    【讨论】:

    • 如何通过添加脚本来做到这一点,我不想定期将数据导入 3 个表?有没有办法创建格式文件或直接编写查询/脚本来获取数据?我们可以在 SQL Server 2005 中执行此操作,但我们可以直接在 64 位计算机上执行此操作吗?
    • @Amy:您必须手动完成一次向导,才能设置所有内容。完成后,您可以将这些步骤作为 SSIS 包保存到 SQL Server 中,并通过在 SQL 代理中安排它在任何给定时间执行。适用于任何机器 - 32 位或 64 位 - 没问题。
    • 您好,首先感谢您的帮助!我正在尝试为 Excel 数据创建到 SQL 表的列映射。假设 Excel table1 有 col1、col2、col3。而SQL table1 有col1、col2a、col3a。你能想出一种方法来维护当前信息并做到这一点吗?
    • 打算更新评论,但无论如何,非常感谢 - 工作!
    • 你应该得到这个答案的奖章!
    【解决方案2】:

    有几种工具可以将 Excel 导入 SQL Server。

    我正在使用 DbTransfer (http://www.dbtransfer.com/Products/DbTransfer) 来完成这项工作。 它主要专注于在数据库和 excel、xml 等之间传输数据......

    我之前尝试过openrowset方法和SQL Server Import / Export Assitant。 但我发现与使用可用的专用工具之一相比,这些方法不必要的复杂且容易出错。

    【讨论】:

      【解决方案3】:

      在 SQL Server 2016 中,向导是一个单独的应用程序。 (重要提示:Excel 向导在该向导的32 位版本中可用!)。使用the MSDN page 获取说明:

      On the Start menu, point to All Programs, point toMicrosoft SQL Server , and then click Import and Export Data.
      —or—
      In SQL Server Data Tools (SSDT), right-click the SSIS Packages folder, and then click SSIS Import and Export Wizard.
      —or—
      In SQL Server Data Tools (SSDT), on the Project menu, click SSIS Import and Export Wizard.
      —or—
      In SQL Server Management Studio, connect to the Database Engine server type, expand Databases, right-click a database, point to Tasks, and then click Import Data or Export data.
      —or—
      In a command prompt window, run DTSWizard.exe, located in C:\Program Files\Microsoft SQL Server\100\DTS\Binn.
      

      之后它应该与@marc_s 的答案几乎相同(可能在 UI 上有细微的变化)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-03
        • 2014-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-27
        • 2013-09-13
        • 2016-05-18
        相关资源
        最近更新 更多