During the automation some time we need to read data from excel using selenium c#. There are multiple way to read data from excel in selenium c#. Let’s see one by one. In the Example 1 will see how to read data from excel by using key. In example 2 will see how to read data from a cell by using the column and row matrix.
Read data from excel in selenium using c# by key.
Example 1: Suppose we have a excel file with name “TestData.xlxs”.
Create a connection with excel file in selenium C#.
publicstaticstring TestDataFileConnection() { var path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); path = path.Substring(6) + @"\Data\TestData.xlsx"; var con = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source = {0}; Extended Properties=Excel 12.0;", path); return con; }
Read data from excel in selenium C#
publicstatic UserData GetTestData(string keyName) { using (var connection = new OleDbConnection(TestDataFileConnection())) { connection.Open(); var query = string.Format("select * from [DataSet$] where key='{0}'", keyName); var value = connection.Query<UserData>(query).FirstOrDefault(); connection.Close(); return value; } }
Here the “DataSet” is a sheetname of your excel.
Method calling and output
var userData = ExcelDataAccess.GetTestData("Admin"); String s1 = userData.Username;
Output: user1
Example 2
Read Data from excel in selenium c# using from a cell
public static String getData(int row, int col) { String value; excel.Application x1app = new excel.Application(); excel.Workbook x1Wb = x1app.Workbooks.Open(@ConfigurationManager.AppSettings["TestDataPath"]); //excel.Workbook x1Wb = x1app.Workbooks.Open(@"D:\TestDataFile.xlsx"); excel.Worksheet x1Ws = x1Wb.Sheets[1]; excel.Range x1range = x1Ws.UsedRange; // value = x1range.Cells[row][col].value2; value = Convert.ToString(x1range.Cells[row][col].value2); x1app.Quit(); return value; }
Method calling and output
String s1 = getData(1,1);
Output: User1