【问题标题】:Read Rows in Excel File using c#使用c#读取Excel文件中的行
【发布时间】:2019-11-06 15:13:04
【问题描述】:

我添加了一个 Excel 文件来提供单元测试值。

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

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 中的每一行并为变量设置值。但要求是不要将 excel 作为数据驱动源附加,也不要使用 Oledb 方式查询Excel。他们说我使用 Microsoft.Office.Interop.Excel; .

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

【问题讨论】:

    标签: c# .net excel unit-testing


    【解决方案1】:

    http://msdn.microsoft.com/en-us/library/office/microsoft.office.interop.excel(v=office.11).aspx

    这可能是 C#: How to access an Excel cell? 的副本,它的答案中有使用 Interop 的示例。

    警告

    因为您在同一个问题中提到了 Web 服务和 Office 互操作:

    微软目前不推荐也不支持, 无人值守的 Microsoft Office 应用程序自动化, 非交互式客户端应用程序或组件(包括 ASP、 ASP.NET、DCOM 和 NT 服务),因为 Office 可能表现出不稳定 Office 在此环境中运行时出现的行为和/或死锁。

    更多信息请参见http://support.microsoft.com/kb/257757

    OOXml

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

    【讨论】:

      【解决方案2】:

      您为什么不尝试一下 rpa 工具?那里要容易得多。 这是 G1ANT 的一个 rpa 工具中的代码。

      addon msoffice version 4.101.0.0
      addon core version 4.101.0.0
      addon language version 4.103.0.0
      excel.open ♥environment⟦USERPROFILE⟧\Desktop\challenge.xlsx
      for ♥n from 1 to 10 step 1
      excel.getrow ♥n 
      dialog  ♥result
      end
      

      此机器人会将“结果”中的数据以列表形式存储,您可以将代码复制粘贴到工作室。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-06
        • 1970-01-01
        相关资源
        最近更新 更多