使用NPOI生成xls文件,单元格赋值为日期型产生的这种有关问题怎么解决

使用NPOI生成xls文件,单元格赋值为日期型产生的这种问题如何解决?
本帖最后由 pengwei0417 于 2014-07-17 21:09:58 编辑
代码如下:
 //创建工作簿
            var workbook = new NPOI.HSSF.UserModel.HSSFWorkbook();
            //创建工作表
            NPOI.HSSF.UserModel.HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("sheet1");
            //创建行
            NPOI.HSSF.UserModel.HSSFRow row = (HSSFRow)sheet.CreateRow(0);
            //创建单元格
            NPOI.HSSF.UserModel.HSSFCell cell = (HSSFCell)row.CreateCell(0);
            //给单元格赋值
            cell.SetCellValue(Convert.ToDateTime("2008-01-12 18:20:30"));
            //cell.DateCellValue = Convert.ToDateTime("2008-01-12 18:20:30");
            //设置单元格格式
            NPOI.HSSF.UserModel.HSSFCellStyle style = (HSSFCellStyle)workbook.CreateCellStyle();
            NPOI.HSSF.UserModel.HSSFDataFormat format = (HSSFDataFormat)workbook.CreateDataFormat();
            style.DataFormat = format.GetFormat("yyyy年mm月dd日");
            cell.CellStyle = style;
            //创建批注
            HSSFPatriarch patr = (HSSFPatriarch)sheet.CreateDrawingPatriarch();
            HSSFComment comment1 = (HSSFComment)patr.CreateCellComment(new HSSFClientAnchor(0, 0, 0, 0, 1, 2, 4, 8));
            comment1.String = new HSSFRichTextString(@"这是一个批注测试!");
            comment1.Author = @"DaLiu";
            //comment1.Visible = true;
            cell.CellComment = comment1;
          
            FileStream fs = new FileStream(@"d:\a.xls", FileMode.OpenOrCreate, FileAccess.ReadWrite);
            workbook.Write(fs);
            fs.Close();
            workbook = null;


生成xls文件截图如下:
使用NPOI生成xls文件,单元格赋值为日期型产生的这种有关问题怎么解决

单元格双击后再点击其他地方出现如下提示:
使用NPOI生成xls文件,单元格赋值为日期型产生的这种有关问题怎么解决

好像是把单元格的内容当成公式了,这是怎么回事,如何解决?
------解决方案--------------------
可能是日期格式化和批注冲突了
------解决方案--------------------
可能是你的dll版本的Bug,使用上面链接的dll双击数字类型单元格就会变成SUM公式计算状态。
使用NPOI.dll的2.0以后的版本,没有这个问题。建议升级你的NPOI文件。
------解决方案--------------------
代码生成是没问题,双击也没问题,你可能点了fx来求和了,