使用c#读取Excel文件中的行

我已经添加了一个Excel文件来提供unit testing值。

下面是我之前做的一个例子

public void test1() { try { var Service = new Service.ServiceClient(); var Cid = testContextInstance.DataRow["CId"].ToString(); var MNumber = testContextInstance.DataRow["MNumber"].ToString(); var VID = testContextInstance.DataRow["VID"].ToString(); var isVisit = new Service.ISVisit() { }; var first = Service.Medis(isVisit).Cast<Service.ISMedi>().FirstOrDefault(); // Assert Assert.AreEqual("12345678", first.Proc.ProcID); } 

。我正在使用Excel表格为untitest提供值。

在这里输入图像说明

通过使用上面的示例代码,我能够循环通过Excel中的每一行,并将值设置为variables。但要求是不要将excel作为数据驱动源附加,而不是使用Oledb方式在Excel中查询事物。说我用的是Microsoft.Office.Interop.Excel; 。

任何人都可以帮助我如何更改代码来检索excel中的数据,逐行并使用不同的方法将单元格分配给各个variables。 这是ac#unit testing框架

请参阅http://msdn.microsoft.com/en-us/library/office/microsoft.office.interop.excel(v=office.11​&#x200B;).aspx 。

这可能是C#的重复:如何访问Excel单元格? ,在使用Interop的答案中有例子。

警告

因为您在同一个问题中提到了webservices和Office interop:

Microsoft目前不推荐并不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定的行为和/或在此环境中运行Office时发生死锁。

请参阅http://support.microsoft.com/kb/257757以获取更多信息&#x3002;

OOXML

如果可能的话,你应该使用OOXml ,这是推荐的方式来处理与Office文档编程。