【问题标题】:Creating a SQL table from a xls (Excel) file从 xls (Excel) 文件创建 SQL 表
【发布时间】:2010-09-25 05:22:45
【问题描述】:

我正在尝试将 Excel 文档转换为 SQL 2005 中的表格。我找到了下面的链接,想知道它是否看起来像一个解决方案。如果是这样,@excel_full_file_name 语法是什么,路径相对于哪里?

http://www.siccolo.com/Articles/SQLScripts/how-to-create-sql-to-convert-Excel_to_table.html

【问题讨论】:

    标签: sql excel sql-server-2005 database-table


    【解决方案1】:

    This example 将数据从 SQL 复制到 Excel。 但这只是交换 OleDb 提供程序以使其朝相反方向工作的问题。

    【讨论】:

      【解决方案2】:

      如果您只需要纯 sql 解决方案,可以使用 BULK INSERT T-SQL 命令。您必须先将文件另存为 csv/text。

      BULK 
      INSERT YourDestinationTable
              FROM 'D:\YourFile.csv'
                  WITH
          (
                      FIELDTERMINATOR = ',',
                      ROWTERMINATOR = '\n'
          )
      GO
      

      或者,您可以尝试 OPENROWEST - 再次,纯 T-SQL 解决方案。

      SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
      'Excel 8.0;DATABASE=D:\YourExcelFile.xls', 'Select * from YourExcelFile') 
      

      这真的取决于你想要多少控制和灵活性,SSIS 路由将比这些方法更有优势。

      【讨论】:

        【解决方案3】:

        我建议使用 SSIS/DTS 包进行转换。这要容易得多。

        SSIS Excel example

        ** 请注意,此示例使用的是向导。您可以将 SSIS/DTS 包安排为要在 SQL 框上运行的作业。

        【讨论】:

          【解决方案4】:

          浏览代码,我希望它是 excel 文档的完整路径名:

          例如:c:\path\to\my\excel\document.xls

          虽然我没有安装或运行该程序,所以我可能是错的 - 但乍一看似乎就是这样。

          【讨论】:

            猜你喜欢
            • 2020-06-04
            • 1970-01-01
            • 2015-08-05
            • 1970-01-01
            • 2023-04-03
            • 2016-12-06
            • 1970-01-01
            • 1970-01-01
            • 2013-12-04
            相关资源
            最近更新 更多