0
Excelファイルから行を抽出して配列に格納する必要があります。私は次のコードを書いています。しかし、これはよいコードではないようです。実行時間が大幅に増加するのは、列の数が増えるほどです。もっと良い方法はありますか?シートの行をExcelに抽出する
public static System.Array eEPlueExtractOneRowDataAgainstTSAndTCIDFromAnExcelSheet(string fullExcelFilePath, string excelSheetName, string testScenarioId, string testCaseId)
{
//Define variables
System.Array myArray = null;
//Define the excel file
FileInfo desiredExcelFile = new FileInfo(fullExcelFilePath);
//Manipulate Excel file using EPPlus
ExcelPackage excelPkg = new ExcelPackage(desiredExcelFile);
ExcelWorksheet workSheet = excelPkg.Workbook.Worksheets[excelSheetName];
int totalRows = workSheet.Dimension.End.Row;
int totalColums = workSheet.Dimension.End.Column;
Console.WriteLine("Total Rows & Colums - " + totalRows + ":" + totalColums);
Console.WriteLine("");
for (int i = 1; i <= totalRows; i++)
{
if ((workSheet.Cells[i, 1].Value.ToString() == testScenarioId) && (workSheet.Cells[i, 2].Value.ToString() == testCaseId))
{
//Console.Write("Desired Row is: " + i);
myArray = new string[totalColums];
for (int j = 1; j < totalColums; j++)
{
myArray.SetValue(workSheet.Cells[i, j].Value.ToString(), (j - 1));
}
}
}
return myArray;
}
私はMicrosoft.Office.Interop.Excelを使用してそれをしません。私はEPPlusを使用する必要が
http://codereview.stackexchange.com/ –
に投稿するとよいでしょう。各行にはtestscenarioIdがありますか?これらのIDはソートされていますか? – rene
はい、各行にTestScenarioIDが必要です。実際には、ID自体が他のExcelシートから抽出され、この機能で使用されます。 (1つのシートから実行する必要のあるシナリオIDを抽出し、別のシートからそれらのIDに対してデータを抽出する) – oshirwani