2009-11-09 57 views
0

我正在寻找从excel导入到SQL数据库的任何提示或资源,但是特别是当信息不是列和行格式时。使用SSIS从excel“应用程序”导入

我目前正在为一个项目做一些预开发工作,并且在大多数情况下,我想为项目使用SSIS。我的研究和谷歌搜索的一个领域留下了一个大问号,就是excel表格的导入。

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

关于向Excel导入列和行信息的试验和磨难有很多信息,但是有没有其他同行堆栈溢出者有过这方面的经验? SSIS是否适合于此(另一个可行的选项将不得不集成到.NET服务中)。

谢谢!

回答

2

将工作表添加到工作簿中,可以从计算工作表中获取答案并以表格格式显示答案,然后使用SSIS的魔法吸取新工作表中的值?

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

我想尝试的第一途径,如果有可能,但另一种选择可能是简单地再现他们的Excel计算器作为.NET应用程序...

+0

我想知道,但我不知道我需要聚合张数(从案例取决于到时)。我们也没有时间在项目中重写表格:( 感谢您的想法) – Chris 2009-11-09 17:10:55

+0

如何在Excel工作簿中编写宏以将数据聚合到隐藏工作表,然后使用SSIS将其从表中抽取出来?宏可以足够聪明地查看所有可见的工作表或类似的东西,如果它们的数量未知的话。 – 2009-11-09 20:23:55

+0

实际上,这可以工作 - 我可以在关闭工作表时触发宏以确保隐藏工作表已启动到目前为止,谢谢! – Chris 2009-11-10 13:22:07

0

一个SSIS Excel数据源使用工作表或范围 - 可以把表与列名称。您也可以考虑从Excel内使用VBA将数据推送到您的数据库中。

+0

当你在excel中说VBA时,是否可以通过SSIS包实现自动化?excel文档将存在于SharePoint存储库中,并且由于各种原因,在用户存储文档时不能上传(除非我在其中创建了临时存储位置) – Chris 2009-11-09 17:12:22

+0

我正在考虑通过VBA将数据推送到数据库而用户正在计算。但是,您可以使用“执行进程任务”从SSIS运行几乎任何内容。 – 2009-11-09 17:49:55

0

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

您可以看到现场示例here并下载免费试用here

声明:我自己的SpreadsheetGear LLC

相关问题