【问题标题】:Importing from excel "applications" using SSIS使用 SSIS 从 excel“应用程序”导入
【发布时间】:2009-11-09 15:06:45
【问题描述】:

我正在寻找有关从 excel 导入 SQL 数据库的任何提示或资源,但特别是当信息不是列和行格式时。

我目前正在为一个项目做一些前期开发工作,并且在大多数情况下我都希望将 SSIS 用于该项目。我的研究和谷歌搜索留下很大问号的一个领域是 Excel 工作表的导入。

简而言之,我们的用户将 excel 用作简单的计算器/应用程序。将值输入工作表中的特定单元格,然后在其他单元格中,公式得出最终答案。该工作表已被“美化”以使用户更容易使用(即空白、合并单元格、漂亮的颜色等)。我需要一种机制来获取原始值和最终答案并将它们导入 SQL 数据库。

有大量关于将列和行信息导入 Excel 的试验和磨难的信息,但是有没有任何堆栈overflowers 的同行有这方面的经验? SSIS 是否适用于此(另一个可行的选择必须是集成到 .NET 服务中)。

谢谢!

【问题讨论】:

    标签: sql excel ssis import


    【解决方案1】:

    向工作簿添加一张表格,从计算表格中提取答案并以表格格式显示,然后使用 SSIS 的魔力从新表格中提取值?

    如果您无法修改工作表,您可能需要查看互操作服务或其他可以指定要从中提取数据的确切单元格的东西。

    如果可能,我会尝试第一种方法,但另一种选择可能是将他们的 Excel 计算器简单地重新创建为 .NET 应用程序...

    【讨论】:

    • 我想知道这一点,但我不知道我需要聚合的工作表数量(取决于具体情况)。我们也没有时间在项目中重写工作表:(感谢您的想法
    • 如何在 Excel 工作簿中编写一个宏以将数据聚合到隐藏的工作表中,然后使用 SSIS 将其从该工作表中吸出?如果它们的数量未知,宏可以足够聪明地查看所有可见的工作表或类似的东西。
    • 实际上这可以工作 - 我可以期待在关闭工作表时触发宏以确保隐藏的工作表是最新的。谢谢!
    【解决方案2】:

    SSIS Excel 数据源使用工作表或范围——想想带有列名的表。您还可以考虑在 Excel 中使用 VBA 将数据推送到您的数据库中。

    【讨论】:

    • 当你在 excel 中说 VBA 时,我可以从 SSIS 包中自动化吗? excel文档将存在于SharePoint存储库中,由于各种原因无法在用户存储文档时上传(除非我在数据库中为它们创建了一个临时存储位置)
    • 我正在考虑在用户计算时通过 VBA 将数据推送到数据库。但是,您可以使用“执行流程任务”从 SSIS 运行几乎任何东西。
    【解决方案3】:

    SpreadsheetGear for .NET 可让您加载 Excel 工作簿、将值放入单元格、计算、以原始值或格式化文本的形式获取结果等等。如果数据不适合 SSIS,这可能是您的最佳选择 - 但它需要您使用 .NET(C#、VB 或任何 .NET 语言)来自动化您的流程。 SpreadsheetGear 的优势在于,您拥有的解决方案不依赖于 .NET 以外的任何内容(当然,它依赖于 SpreadsheetGear,但可以使用 xcopy 部署或任何其他部署方法在您的应用程序中免费部署 SpreadsheetGear)。

    您可以查看实时示例here 并下载免费试用版here

    免责声明:我拥有 SpreadsheetGear LLC

    【讨论】:

      猜你喜欢
      • 2019-05-29
      • 2015-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多