Excel转DataTable

  Aspose.Cells.dll

 public static DataTable ExcelToDatatable(string filepath, bool flag = false, int startRow = 1)
        {
            Workbook workbook = null;
            using (FileStream file = new FileStream(filepath, FileMode.Open, FileAccess.Read))
            {
                workbook = new Workbook(file);
            }

            var cells = workbook.Worksheets[0].Cells;
            DataTable dt = new DataTable();
            int rowIndex = 0;
            if (flag)
            {
                rowIndex = startRow;
            }
            bool d = true;//防止表头重复加载
            for (int i = rowIndex; i < cells.MaxDataRow + 1; i++)
            {
                if (!d && string.IsNullOrWhiteSpace(cells[i + 1, 0].StringValue.Trim()))
                {
                    continue;
                }
                DataRow row = dt.NewRow();
                for (int j = 0; j < cells.MaxDataColumn + 1; j++)
                {
                    if (d)
                    {
                        dt.Columns.Add(cells[0, j].StringValue.Trim());
                    }
                    row[j] = cells[i + 1, j].StringValue.Trim();
                }
                dt.Rows.Add(row);
                d = false;
            }
            return dt;
        }
原文地址:https://www.cnblogs.com/xiaonangua/p/11382997.html