使用NPOI生成xls文件,单元格赋值为日期型产生的这种问题如何解决?

大刘0417 2014-07-17 09:08:53
代码如下:
 //创建工作簿
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文件截图如下:


单元格双击后再点击其他地方出现如下提示:


好像是把单元格的内容当成公式了,这是怎么回事,如何解决?
...全文
1397 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
save4me 2014-07-21
  • 打赏
  • 举报
回复
很高兴问题解决了
引用 6 楼 pengwei0417 的回复:
[quote=引用 4 楼 save4me 的回复:] 可能是你的dll版本的Bug,使用上面链接的dll双击数字类型单元格就会变成SUM公式计算状态。 使用NPOI.dll的2.0以后的版本,没有这个问题。建议升级你的NPOI文件。
正解,换成2.0的问题解决了,十分感谢,也感谢其他人的帮助。[/quote]
大刘0417 2014-07-21
  • 打赏
  • 举报
回复
引用 4 楼 save4me 的回复:
可能是你的dll版本的Bug,使用上面链接的dll双击数字类型单元格就会变成SUM公式计算状态。 使用NPOI.dll的2.0以后的版本,没有这个问题。建议升级你的NPOI文件。
正解,换成2.0的问题解决了,十分感谢,也感谢其他人的帮助。
wind_cloud2011 2014-07-19
  • 打赏
  • 举报
回复
代码生成是没问题,双击也没问题,你可能点了fx来求和了,
save4me 2014-07-19
  • 打赏
  • 举报
回复
可能是你的dll版本的Bug,使用上面链接的dll双击数字类型单元格就会变成SUM公式计算状态。 使用NPOI.dll的2.0以后的版本,没有这个问题。建议升级你的NPOI文件。
大刘0417 2014-07-19
  • 打赏
  • 举报
回复
我测试了,和批注没有关系。这是NPOI的类库文件。 请高手帮看一下是什么问题呗。 http://download.csdn.net/download/pengwei0417/7653759
熙风 2014-07-19
  • 打赏
  • 举报
回复
可能是日期格式化和批注冲突了
大刘0417 2014-07-19
  • 打赏
  • 举报
回复
自己顶一下,坐等高手出现!

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧