c# NPOI为Excel添加批注

这几天在为公司做员工报休系统,在管理后台需要将所有人员的报休情况导出Excel。

因为导出Excel是xlsx的,在网上找了一大堆用NPOI添加批注的方法,结果报错!

先看看导出的格式:

 

 

用网上的示例IDE不报错:

HSSFPatriarch patr = (HSSFPatriarch)sheet2.CreateDrawingPatriarch();
HSSFComment comment2 = (HSSFComment)patr.CreateCellComment(new HSSFClientAnchor(0, 0, 0, 0, 0, 0, 0, 0));
comment2.String = new HSSFRichTextString(isRest.memo);
comment2.Author = @"ycrc";
agtRestCells.CellComment = comment2;

但在调试的时候:

结果发现,网上的示例是针对Xls版本的,也就是说在创建工作薄的时候用的 HSSFWorkbook,而我用的是XSSFWorkbook。

继续看异常提示,既然有NPOI.XSSF.UserModel.XSSFDrawing这个类型。

然后发现IComment可以不进行强制转换,最后,把单元格的CellComment设置为Comment1就行了

网上一大篇介绍批注的定位,实际上可以直接把它设为0

 

posted @ 2019-05-07 11:45  宜人之城  阅读(1224)  评论(0编辑  收藏  举报