从列表中插入锯齿状数组中的多个数据

时间:2014-04-07 10:36:27

标签: c# .net arrays

我试图将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();

但是仍然。如果您有任何建议可以帮助我,我将不胜感激。

0 个答案:

没有答案