Excel转DataTable

柔情痞子 提交于 2019-11-28 00:34:04

 

 

 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;
        }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!