有的时候,我们需要通过操作Apache POI,在生成Cell数据的同时,能对其生成的Cell,加上注解(comments),类似于下面的。

那么对于这种情况,我们的代码应该如何写呢? 借花献佛,我就用Apache POI官方提供的例子,然后加上一些注解,给大家看一下。本例子的测试代码是基于POI-3.12的。

执行完后,将会生成上图所示的Excel工作表单(sheet)

[java] view plaincopy
  1. import org.apache.poi.ss.usermodel.*;
  2. import org.apache.poi.xssf.usermodel.XSSFSheet;
  3. import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  4. import java.io.IOException;
  5. import java.io.FileOutputStream;
  6. /**
  7. * Demonstrates how to work with excel cell comments.
  8. * <p>
  9. * Excel comment is a kind of a text shape,
  10. * so inserting a comment is very similar to placing a text box in a worksheet
  11. * </p>
  12. *
  13. * @author Yegor Kozlov
  14. */
  15. public class CellComments {
  16. public static void main(String[] args) throws IOException {
  17. //1.创建一个工作簿对象
  18. XSSFWorkbook wb = new XSSFWorkbook();
  19. //2.得到一个POI的工具类
  20. CreationHelper factory = wb.getCreationHelper();
  21. //3. 创建一个工作表
  22. XSSFSheet sheet = wb.createSheet();
  23. //4.得到一个换图的对象
  24. Drawing drawing = sheet.createDrawingPatriarch();
  25. //5. ClientAnchor是附属在WorkSheet上的一个对象,  其固定在一个单元格的左上角和右下角.
  26. ClientAnchor anchor = factory.createClientAnchor();
  27. //6. 创建一个单元格(2A单元格)
  28. Cell cell0 = sheet.createRow(1).createCell(0);
  29. //6.1. 对这个单元格设置值
  30. cell0.setCellValue("Test");
  31. //6.2. 对这个单元格加上注解
  32. Comment comment0 = drawing.createCellComment(anchor);
  33. RichTextString str0 = factory.createRichTextString("Hello, World!");
  34. comment0.setString(str0);
  35. comment0.setAuthor("Apache POI");
  36. cell0.setCellComment(comment0);
  37. //7. 创建一个单元格(4F单元格)
  38. Cell cell1 = sheet.createRow(3).createCell(5);
  39. //7.1. 对这个单元格设置值
  40. cell1.setCellValue("F4");
  41. //7.2. 对这个单元格加上注解
  42. Comment comment1 = drawing.createCellComment(anchor);
  43. RichTextString str1 = factory.createRichTextString("Hello, World!");
  44. comment1.setString(str1);
  45. comment1.setAuthor("Apache POI");
  46. cell1.setCellComment(comment1);
  47. //8. 创建一个单元格(4F单元格)
  48. Cell cell2 = sheet.createRow(2).createCell(2);
  49. cell2.setCellValue("C3");
  50. Comment comment2 = drawing.createCellComment(anchor);
  51. RichTextString str2 = factory.createRichTextString("XSSF can set cell comments");
  52. //9。为注解设置字体
  53. Font font = wb.createFont();
  54. font.setFontName("Arial");
  55. font.setFontHeightInPoints((short)14);
  56. font.setBoldweight(Font.BOLDWEIGHT_BOLD);
  57. font.setColor(IndexedColors.RED.getIndex());
  58. str2.applyFont(font);
  59. comment2.setString(str2);
  60. comment2.setAuthor("Apache POI");
  61. comment2.setColumn(2);
  62. comment2.setRow(2);
  63. //10. 保存成Excel文件
  64. String fname = "comments.xlsx";
  65. FileOutputStream out = new FileOutputStream(fname);
  66. wb.write(out);
  67. out.close();
  68. }
  69. }

转载于:https://www.cnblogs.com/telwanggs/p/5787050.html

如何用Apache POI操作Excel文件-----如何对一个单元格加注解?相关推荐

  1. 如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?

    在POI的第一节入门中,我们提供了两个简单的例子,一个是如何用Apache POI新建一个工作薄,另外一个例子是,如果用Apache POI新建一个工作表.那么在这个章节里面,我将会给大家演示一下,如 ...

  2. (6) 如何用Apache POI操作Excel文件-----POI-3.10的一个和注解(comment)相关的另外一个bug...

    如果POI-3.10往一个工作表(sheet)里面插入数据的话,需要注意了,其有一个不太被容易发现的bug. 被插入的工作表(sheet)里面的单元格没有包含任何的注解(comment)的时候,插入一 ...

  3. 如何用Apache POI操作Excel文件-----如何用Apache POI 画一个离散图

    有的时候,我们需要Excel中的数据,通过一个图画,可视化的表现出来. 那么这个时候,应该如何做呢?现在就借花献佛,以Apache POI自己提供的一个例子为例,给大家演示一下POI的API 如何画图 ...

  4. Apache POI操作Excel文件

    Apache POI是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能,其中使用最多的就是使用PO ...

  5. 采用APACHE POI操作EXCEL文件--计算式调用另一文件

    http://blog.sina.com.cn/s/blog_6151984a0100sczi.html 测试环境: 当前EXCEL文件: workbook.xls 假设一个CELL的计算式如下:   ...

  6. java excel相同的合并_Java使用Apache POI合并Excel连续相同内容的单元格

    环境: Apache POI 3.17: HSSFSheet: 目的: 对Excel表格中同一列,如果连续的两个或两个以上单元格的内容相同,则对这些单元格进行合并. 实现代码: /** * 合并指定E ...

  7. Apache POI操作Excel导出JAVABEAN对象方法

    2019独角兽企业重金招聘Python工程师标准>>> Apache POI操作Excel导出方法说明 Apache的POI组件是Java操作Microsoft Office办公套件 ...

  8. Apache POI操作Excel的坑

    本文记录一下用Apache POI操作Excel时可能遇到一些坑. excel版本错误 首先是excel版本问题,由于office excel 03版和07版的区别,在读取文件时如果版本不匹配会报以下 ...

  9. Java使用POI操作Excel文件

    我们可以使用POI操作Excel文件,本文主要介绍:"导入POI的Maven依赖"."创建Poi对象"."Poi读取Excel工作表数目". ...

最新文章

  1. 零基础入门学python 第二版-《零基础入门学习Python》第二版和第一版的区别在哪里呢?...
  2. python运行软件-提高Python程序的运行速度
  3. CTFshow 命令执行 web62
  4. 中的挂起是什么意思_书房装饰挂什么画好 书法字画给你想要的诗意生活
  5. Jquery-基础知识点
  6. 妙用世界之窗浏览器的隐私保护功能
  7. cartographer坐标系_cartographer个人对框架解读
  8. cisco 密码重置
  9. 全新的Kafka controller
  10. 机器学习重塑供应链管理的10个途径
  11. Linux下的WPS安装
  12. hive经典面试题1--根据主播上播、下播时间戳求播出时长
  13. python主动推送链接至Bing站长平台分分钟让必应收录你的网页-必应SEO窍门
  14. IT狂人第一至四季/全集The IT Crowd迅雷下载
  15. 三个问答告诉你aside标签的作用
  16. Android客户端与PC服务器通过socket进行交互实例
  17. 电脑破解wifi密码(至少连过1次的才可以)
  18. 十年一剑,股票自动交易实验(寻找股海宝藏之旅—解锁股市交易更多姿势)
  19. 部门 2016 总结
  20. ipad使用的PDF书籍没有目录怎么办?

热门文章

  1. select poll epoll
  2. python 3.x 不再支持MySQLdb 模块
  3. (66)SPI外设驱动发送驱动(五)(第14天)
  4. (28)FPGA面试题寄生效应
  5. (48)FPGA面试技能提升篇(数字采样、射频存储、频谱搬移)
  6. stm32f7网口_STM32F7串口通信问题
  7. unix系统重启tcp服务器,《TCP/IP详解卷3:TCP事务协议、HTTP、NNTP和UNIX域协议》 —3.5 服务器重启动...
  8. 软件项目验收汇报ppt_项目验收!万能PPT模板!等你来拿
  9. 上网课的心得体会1000字_网络学习心得体会 (1000字)
  10. 兴利调节matlab编程,水利计算之兴利调节计算.ppt