【发布时间】:2013-09-26 15:05:00
【问题描述】:
我正在尝试将我的 MSTest 单元测试连接到 Excel 文件(以便它们可以数据驱动。)
我尝试过使用 csv 文件,它们可以工作 except when I need the values to be strings。
我想使用 Excel,但所有连接字符串都有一个 Extended Properties='Excel xx.0;,其中 xx 是版本号。
在我工作的地方,我们安装了不同版本的 Office。我有 2013 年,仅此而已,其他人只有 2010 年。
是否有连接字符串可以连接到excel作为数据源而无需使用特定版本?
这是我尝试过但不起作用的示例:
[DataSource("System.Data.OleDB", @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=MyExcelFile.xlsx; Extended Properties='Excel 12.0;HDR=yes';", "Sheet1$", DataAccessMethod.Sequential)]
【问题讨论】:
-
您可以考虑使用 ExcelDataReader exceldatareader.codeplex.com。我在一个项目中使用了 ACE 驱动程序并且遇到了太多问题,尤其是当涉及到用户机器上的 32 位和 64 位 Office 时。我切换到 ExcelDataReader 并且对它非常满意。
-
您可能还想查看epplus.codeplex.com,它是一个很好的用于读取/写入 xlsx 文件的库,与使用 sql 相比,使用该库时遇到的问题要少得多读取/写入excel文件的方式。
标签: c# .net datasource