我正在为多个不同的测试用例创建一个测试用例,每个测试用例都有id,我试图从excel中读取测试数据......
这是我的Excel工作表的布局,不知道如何提出正确的设计
这是我正在阅读的代码:
string connectionString = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
string testCaseName = "case_1";
string query = "SELECT * from [Sheet1$] WHERE test_case_id =\"" + testCaseName + "\"";
DataTable dt = new DataTable();
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
conn.Open();
using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, conn))
{
DataSet ds = new DataSet();
dataAdapter.Fill(ds);
dt = ds.Tables[0];
}
conn.Close();
}
问题:
test_case_id == 001_test
正常运行没有任何问题
但是如果通过test_case_id = 0059_test
,那么我将获得test_case_id
0059_test
的相同test_case_id 001_test
的数据,但我没有得到标题正确的标题名称,我得到了test_case_id
我的问题:如何获取特定{{1}}的标题(intro_text,api_text ...._?
答案 0 :(得分:0)
默认情况下,第一行被视为标题行。您需要在查询中指定标题行。
例如:对于 test_case_id 0059_test标题行号为3 ,您必须按如下方式编写查询:
string query = "SELECT * from [Sheet1$A3:C] WHERE test_case_id = \"" + testCaseName + "\"";
其中A3是第一个列标题,C是最后一个数据列。