使用NPOI生成xls文件,单元格赋值为日期型产生的这种有关问题怎么解决
使用NPOI生成xls文件,单元格赋值为日期型产生的这种问题如何解决?
代码如下:
生成xls文件截图如下:
单元格双击后再点击其他地方出现如下提示:
好像是把单元格的内容当成公式了,这是怎么回事,如何解决?
------解决方案--------------------
可能是日期格式化和批注冲突了
------解决方案--------------------
可能是你的dll版本的Bug,使用上面链接的dll双击数字类型单元格就会变成SUM公式计算状态。
使用NPOI.dll的2.0以后的版本,没有这个问题。建议升级你的NPOI文件。
------解决方案--------------------
代码生成是没问题,双击也没问题,你可能点了fx来求和了,
代码如下:
//创建工作簿
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文件截图如下:
单元格双击后再点击其他地方出现如下提示:
好像是把单元格的内容当成公式了,这是怎么回事,如何解决?
------解决方案--------------------
可能是日期格式化和批注冲突了
------解决方案--------------------
可能是你的dll版本的Bug,使用上面链接的dll双击数字类型单元格就会变成SUM公式计算状态。
使用NPOI.dll的2.0以后的版本,没有这个问题。建议升级你的NPOI文件。
------解决方案--------------------
代码生成是没问题,双击也没问题,你可能点了fx来求和了,