我试图将xls格式的数据插入锯齿状数组中,以便稍后我可以 用它填充下拉列表。问题是我似乎无法解决这个问题 阵列的数量。我正在寻找来自的数据列表 "数据库"然后将它添加到数组的第一行,然后读取下一行 线。这是我到目前为止创建的内容:
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;
string str;
int rCnt = 0;
int cCnt = 0;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open("Location\\test.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
range = xlWorkSheet.UsedRange;
int x = range.Rows.Count;
int rows=0, columns=0;
string [] [] matrix = new string [x] [];
List<string> list= new List <string>();
for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
{
for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
{
str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2;
Console.WriteLine(str);
list.Add(str);
}
}
xlWorkBook.Close(true, null, null);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
我只需要一个关于最佳方法的指南。使用列表和 然后填充数组或者另一种方式。
编辑:对于那些有类似问题的人,我发现了一个快速(可能不是最有效的)解决方案,它包括获取一个新的,所以它从列表中获取值到一个数组,然后它添加到矩阵像这样:
for (int row =0; row<list.Count;row++)
{
string[] values = list.ToArray();
matrix[rCnt-1] = values;
}
list.Clear();
但是仍然。如果您有任何建议可以帮助我,我将不胜感激。