示例#1
0
 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);
     }
 }
示例#2
0
 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);
     }
 }
示例#3
0
 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);
         }
     }
 }