怎么给datatable 表格动态增加行

 时间:2024-11-03 08:56:38

1、在VS2010中,构建Excel表导入数据的WinForm界面,如下图所示:

怎么给datatable 表格动态增加行

2、在VS2010的解决方案管理器点击“右键—>添加引用”,将NPOI组件添加到项目中,如下图所示:

怎么给datatable 表格动态增加行

3、给导入按钮的_Click方法,编写导入的数据解释代码,主要是通过NPOI引入数据,部分代码如下: int intFirstRow = 0; if (numStartRow.Value > 0) { intFirstRow = (int)(numStartRow.Value) - 1; } dt = null; dt = Import.ImportExcel(file, ccbRepType.SelectedIndex, intFirstRow); //导入数据,首行默认0

怎么给datatable 表格动态增加行

4、通过自定义的Import类,给datatable增加动漤逗庞俄态的列,主要代码如下: int c髫潋啜缅ellCount = headerRow.LastCellNum; //一定要对单元格类型作判断 否则会报错 for (int i = headerRow.FirstCellNum; i < cellCount; i++) { if (headerRow.GetCell(i) == null || headerRow.GetCell(i).ToString().Trim() == "") //StringCellValue.Trim() == "" { // 如果遇到第一个空列,则不再继续向后读取 LJS cellCount = i + 1; break; } DataColumn column = new DataColumn(Convert.ToChar(((int)'A') + i).ToString()); table.Columns.Add(column); }

怎么给datatable 表格动态增加行

5、通过自定义的Import类,将行数据动态写入到datatable中去,部分代码如下: for (int i = HeaderRowIndex; i <= sheet.LastRowNum; i++) { HSSFRow row = (HSSFRow)sheet.GetRow(i); if (row == null || row.GetCell(0) == null || row.GetCell(0).ToString().Trim() == "") { // 如果遇到第一个空行,则不再继续向后读取 break; } DataRow dataRow = table.NewRow(); for (int j = row.FirstCellNum; j < cellCount; j++) { HSSFCell cell = (HSSFCell)row.GetCell(j); if (row.GetCell(j) != null) { switch ((HSSFCellType)cell.CellType) { case HSSFCellType.BLANK: dataRow[j] = cell.StringCellValue; break; case HSSFCellType.BOOLEAN: dataRow[j] = cell.BooleanCellValue; break; case HSSFCellType.NUMERIC: dataRow[j] = cell.NumericCellValue; break; …… } } table.Rows.Add(dataRow);

怎么给datatable 表格动态增加行

6、NPOI控件笔者以上所用的npoi版本为1.2.5版本(部分自定义修改了),对于具体npoi相关资料可以从网上查找获得。

  • 注册表清除顽固病毒技巧
  • win10系统修改微信储存位置保护固态盘
  • windows installer无法启动的解决方法?
  • Windows10正确进入F8安全模式
  • 用友ATO+模型选配设置
  • 热门搜索
    中秋节手抄报大全 关于宇宙的手抄报 九一八事变手抄报 水浒传手抄报图片 爱护校园环境手抄报 有关感恩的手抄报 关于环保的手抄报内容 小学生手抄报版面设计图 普通话规范字手抄报 手抄报图案小装饰