繁体   English   中英

在Selenium C#中从Excel读取数据

[英]Reading data from excel in selenium C#

我正在尝试在C#.NET中使用Selenium时从excel表中读取用户名和密码。 下面是代码:

using excel = Microsoft.Office.Interop.Excel;

public void TestMethod1()
{
       excel.Application xlApp = new excel.Application();
       excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"D:\Test\TestData.xlsx");
       excel._Worksheet xlWorksheet = **xlWorkbook.Sheets[1];**
       excel.Range xlRange = xlWorksheet.UsedRange;
 }

我在上面的代码中用粗体标记的文本出现以下错误:

错误CS0656缺少编译器所需的成员'Microsoft.CSharp.RuntimeBinder.Binder.Convert'从Excel_Office读取数据c:\\ users \\ tabish.khan \\ documents \\ visual studio 2015 \\ Projects \\从Excel_Office读取数据\\从Excel_Office \\ OfficeReadExcel读取数据。 CS 18有效

请帮助我解决此问题。

我的C#类库项目有相同的错误。 我正在使用.NET Framework 4.6,并且使用了NuGet来安装Microsoft.Office.Interop.Excel程序集:

PM> Install-Package Microsoft.Office.Interop.Excel

这是导致此错误的代码的简化版本:

using MSExcel = Microsoft.Office.Interop.Excel;

namespace ProjectReader
{
    public class ExcelExport
    {

        public ExcelExport()
        {
            xlApp = new MSExcel.Application();
            xlWorkBook = xlApp.Workbooks.Add(System.Reflection.Missing.Value);
        }

        public void CreateFile()
        {
            object missingValue = System.Reflection.Missing.Value;

            foreach (MSExcel.Worksheet sht in xlWorkBook.Sheets)
            {
                if (xlWorkBook.Worksheets.Count > 1)
                {
                    sht.Delete();
                }
            }

            **xlWorkSheet = (MSExcel.Worksheet)xlWorkBook.Sheets[1];**
        }

        private MSExcel.Application xlApp;
        private MSExcel.Workbook xlWorkBook;
        private MSExcel.Worksheet xlWorkSheet;
    }
}

有趣的是,我在问题行上方的foreach循环中引用工作表没有问题。

使用以下步骤:

  1. 转到您的项目,然后单击鼠标右键。
  2. 单击添加,然后单击引用。
  3. 选择Microsoft.CSharp ,然后单击“确定”按钮,然后清理并重建项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM