多语言展示
当前在线:537今日阅读:168今日分享:49

怎么给datatable 表格动态增加行

在C#中实现导入Excel,并传递给datatable表格动态增加行的方法,在这里分享给大家,以供大家参考。
工具/原料

VS2010

方法/步骤
1

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

2

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

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

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

6

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

注意事项

如果有任何意见或建议,文章下方可以对本文投票、收藏、评论。

推荐信息