NPOI 的使用心得

Excel 数据  通过 c# 代码逻辑 导入 到数据库  。

其中各种坑爹。原因是 单元格 数据 与 数据库 字段的数据类型 会有出入。因为 Excel 是人工输入。

比如 一个单元格  本来 只能输入  数字  的,然后 对应 数据库 里面的一个 int类型,但是 他可以 输入 文字啊。

所以可以通过CellType  来判断。

比如

if(row.Cells[11 + k * 3].CellType == CellType.Numeric)

doSomething....

 

另外就是 版本判断了

  if (FileName.IndexOf(".XLSX", System.StringComparison.Ordinal) > 0) // 2007版本
                                workbook = new XSSFWorkbook(fs);
                            else if (FileName.IndexOf(".XLS", System.StringComparison.Ordinal) > 0) // 2003版本
                                workbook = new HSSFWorkbook(fs);
                            else
                            {
                                return "";
                            }

 

 

           

  var list = result.ToList(); //Search(createDate);
            var fileOne = new FileStream(Server.MapPath("/template/EveryDayReport.xls"), FileMode.Open, FileAccess.ReadWrite);
            var wbOne = new HSSFWorkbook(fileOne);
            var sheet = (HSSFSheet)wbOne.GetSheetAt(0);
            int startRow = 2;
            var temp = list.Count();
       //插入行:  

sheet.ShiftRows(startRow, temp + 2, temp);

posted @ 2015-07-31 11:18  pengbg  阅读(649)  评论(0编辑  收藏  举报