在c#中将excel文件导入数组

时间:2015-08-30 01:24:35

标签: c# arrays excel multidimensional-array

我在查找如何将excel文件导入c#中的多维数组时遇到问题。我不想做任何花哨的事情,我只想把简单的excel第一张工作表放到c#中的一个数组中,这就是它。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

你最好将它带入一个数据表,在这段代码中,我使用的是通过nuget提供的closedXML

public static DataTable ImportSheet(string fileName)
    {
        var datatable = new DataTable();
        var workbook = new XLWorkbook(fileName);
        var xlWorksheet = workbook.Worksheet(1);
        var range = xlWorksheet.Range(xlWorksheet.FirstCellUsed(), xlWorksheet.LastCellUsed());

        var col = range.ColumnCount();
        var row = range.RowCount();

        //if a datatable already exists, clear the existing table 
        datatable.Clear();
        for (var i = 1; i <= col; i++)
        {
            var column = xlWorksheet.Cell(1, i);
            datatable.Columns.Add(column.Value.ToString());
        }

        var firstHeadRow = 0;
        foreach (var item in range.Rows())
        {
            if (firstHeadRow != 0)
            {
                var array = new object[col];
                for (var y = 1; y <= col; y++)
                {
                    array[y - 1] = item.Cell(y).Value;
                }

                datatable.Rows.Add(array);
            }
            firstHeadRow++;
        }
        return datatable;
    }

这是正常工作的代码,因此您需要复制并粘贴它,并使用此代码调用它

DataTable _dt = new DataTable();
_dt = ImportSheet(fileName);