如何读取,编辑和编写xls文件,然后导出到SQL Server

时间:2009-11-02 14:37:24

标签: .net excel ms-office

我有一个excel文件,其中包含我需要推送到SQL Server数据库的联系人列表(大约10 k)。所以,我正在使用visual studio 2008编写一个.net windows程序来读取文件,为每个联系人生成随机密码,然后将这些信息输入我的SQL Server数据库。

2003年很容易处理excel文件,但现在我的计算机里面有Office 2007,事情似乎发生了变化。我正在挖掘Microsoft.Office.Interop.Excel,但它似乎比以前复杂得多。

3 个答案:

答案 0 :(得分:2)

如果是一次性交易,您可以稍微格式化excel文件,将其导入并访问数据库,然后将其推回到您想要的任何数据库。

如果你必须在.net中这样做,你可以使用SQL通过ODBC打开一个excel文件...它有点脆弱,但我过去一直使用它。

在excel中使用类似这样的连接字符串:
    Provider = Microsoft.Jet.OLEDB.4.0;数据源= C:\ MyExcel.xls;扩展属性=“Excel 8.0; HDR =是; IMEX = 1”;

工作表和命名部分是表名.HDR =是表示第一行包含字段的名称。我承认这有点奇怪。 :)

答案 1 :(得分:0)

我会采用ETL方法:

  1. 创建一个SSIS包以将数据导入SQL Server中的临时表
  2. 验证并清除所有导入的数据
  3. 编写SQL脚本以随机化每个导入行的密码,并将该脚本/存储过程作为SQL任务从SSIS包中调用
  4. 从临时表中插入实际数据表
  5. 如果这是需要反复进行的事情,我会将包保存到SQL Server中,并从我的C#程序中调用它。

答案 2 :(得分:0)

我不确定这是否对您有所帮助,但也许SSIS(SQL Server Integration Services)会对您有所帮助。

除此之外,您可以尝试在Excel中执行所需的操作时在Excel中录制宏,当您完成操作后,您可以查看录制的宏(ALT + F8)并将其“翻译”到您的.NET代码。

只是一个建议。