Excel数据处理与VSTO?

我发现自己拥有一个包含大约3,000行数据的Excel电子表格,这些数据代表了我需要对SQL表格添加或更改的数据。 正如你可以想象的那样手动处理太多了。 由于我无法控制的许多原因,我不能简单地使用SSIS包或其他更简单的方法将这些更改导入到数据库中。 我唯一的select是创buildSQL脚本,将电子表格中的更改显示为MS SQL 2005。

我完全没有Office自动化或VSTO的经验。 我已经尝试在网上查找,但是我所看到的大多数教程似乎都让我感到困惑。

所以,我的想法是,我会使用.NET和VSTO遍历数据行(或使用LINQ,无论什么是有意义的),并确定所涉及的项目是插入还是更新项目。 在工作表中有颜色突出显示三angular洲,所以我想我可以使用,或者我可以查找一些关键的数据,以确定是否存在条目。 一旦我build立了我正在处理的事情,我可以调用生成SQL语句的方法来插入或更新数据。 插入将非常容易,我可以使用增量高亮来确定哪些字段需要更新更新项目。

如果将SQL输出到一个文件,或者在该行的最后一个单元格中添加给定行的SQL的testing,我都可以。

任何方向的一些示例代码,例子,如何或什么会导致我在正确的方向,将不胜感激。 我不挑剔。 如果有一些工具我不知道,或者使用现有的工具,我没有想到完成生成SQL来完成任务的基本任务的方式,那么我就是为了它。

如果您需要任何其他信息,请随时询问。

干杯,

史蒂夫

我build议在尝试VSTO之前,保持简单,并得到一些经验,如何用Excel VBA解决这样的问题。 恕我直言,这是学习Excel对象模型最简单的方法,尤其是因为你有macroslogging手头。 当您认为必须切换到C#,VSTO或自动化或(更好!) Excel DNA时,可以稍后重新使用此知识。

对于Excel VBA,这里有很多教程,这里有一个:

http://www.excel-vba.com/excel-vba-contents.htm

如果您需要知道如何在VBA程序中执行像INSERT或UPDATE这样的任意SQL命令,请查看此SOpost:

Excel VBA到没有SSIS的SQL Server

这里是另一个SOpost,展示了如何从SQL服务器获取数据到Excel电子表格中:

在Excel-VBA中访问SQL数据库