簡體   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