public static void ReadHeader(IRow header, DataTable dt, List <int> columns) { for (int i = 0; i < header.LastCellNum; i++) { var cellValue = CalculateTool.GetCellValueType(header.GetCell(i)); if (cellValue == null || cellValue.ToString() == string.Empty) { dt.Columns.Add(new DataColumn("Columns" + i)); } else { dt.Columns.Add(new DataColumn(cellValue.ToString())); } columns.Add(i); } }
public static void ReadHeader(IRow header, DataTable dt, List <int> columns, Func <string, int, Type> callback) { for (int i = 0; i < header.LastCellNum; i++) { var cellValue = CalculateTool.GetCellValueType(header.GetCell(i)); if (cellValue == null || cellValue.ToString() == string.Empty) { var type = callback(cellValue.ToString(), i); dt.Columns.Add(new DataColumn("Columns" + i, type)); } else { var type = callback(cellValue.ToString(), i); dt.Columns.Add(new DataColumn(cellValue.ToString(), type)); } columns.Add(i); } }
public static void ReadBody(ISheet sheet, DataTable dt, List <int> columns) { for (int i = sheet.FirstRowNum + 1; i <= sheet.LastRowNum; i++) { DataRow dr = dt.NewRow(); bool hasValue = false; foreach (int j in columns) { dr[j] = CalculateTool.GetCellValueType(sheet.GetRow(i).GetCell(j)); if (dr[j] != null && dr[j].ToString() != string.Empty) { hasValue = true; } } if (hasValue) { dt.Rows.Add(dr); } } }