(3) 如何用Apache POI操作Excel文件-----如何对一个单元格加注解?
2015-05-29 17:06
513 查看
有的时候,我们需要通过操作Apache POI,在生成Cell数据的同时,能对其生成的Cell,加上注解(comments),类似于下面的。
那么对于这种情况,我们的代码应该如何写呢? 借花献佛,我就用Apache POI官方提供的例子,然后加上一些注解,给大家看一下。本例子的测试代码是基于POI-3.12的。
执行完后,将会生成上图所示的Excel工作表单(sheet)
那么对于这种情况,我们的代码应该如何写呢? 借花献佛,我就用Apache POI官方提供的例子,然后加上一些注解,给大家看一下。本例子的测试代码是基于POI-3.12的。
执行完后,将会生成上图所示的Excel工作表单(sheet)
import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.IOException; import java.io.FileOutputStream; /** * Demonstrates how to work with excel cell comments. * <p> * Excel comment is a kind of a text shape, * so inserting a comment is very similar to placing a text box in a worksheet * </p> * * @author Yegor Kozlov */ public class CellComments { public static void main(String[] args) throws IOException { //1.创建一个工作簿对象 XSSFWorkbook wb = new XSSFWorkbook(); //2.得到一个POI的工具类 CreationHelper factory = wb.getCreationHelper(); //3. 创建一个工作表 XSSFSheet sheet = wb.createSheet(); //4.得到一个换图的对象 Drawing drawing = sheet.createDrawingPatriarch(); //5. ClientAnchor是附属在WorkSheet上的一个对象, 其固定在一个单元格的左上角和右下角. ClientAnchor anchor = factory.createClientAnchor(); //6. 创建一个单元格(2A单元格) Cell cell0 = sheet.createRow(1).createCell(0); //6.1. 对这个单元格设置值 cell0.setCellValue("Test"); //6.2. 对这个单元格加上注解 Comment comment0 = drawing.createCellComment(anchor); RichTextString str0 = factory.createRichTextString("Hello, World!"); comment0.setString(str0); comment0.setAuthor("Apache POI"); cell0.setCellComment(comment0); //7. 创建一个单元格(4F单元格) Cell cell1 = sheet.createRow(3).createCell(5); //7.1. 对这个单元格设置值 cell1.setCellValue("F4"); //7.2. 对这个单元格加上注解 Comment comment1 = drawing.createCellComment(anchor); RichTextString str1 = factory.createRichTextString("Hello, World!"); comment1.setString(str1); comment1.setAuthor("Apache POI"); cell1.setCellComment(comment1); //8. 创建一个单元格(4F单元格) Cell cell2 = sheet.createRow(2).createCell(2); cell2.setCellValue("C3"); Comment comment2 = drawing.createCellComment(anchor); RichTextString str2 = factory.createRichTextString("XSSF can set cell comments"); //9。为注解设置字体 Font font = wb.createFont(); font.setFontName("Arial"); font.setFontHeightInPoints((short)14); font.setBoldweight(Font.BOLDWEIGHT_BOLD); font.setColor(IndexedColors.RED.getIndex()); str2.applyFont(font); comment2.setString(str2); comment2.setAuthor("Apache POI"); comment2.setColumn(2); comment2.setRow(2); //10. 保存成Excel文件 String fname = "comments.xlsx"; FileOutputStream out = new FileOutputStream(fname); wb.write(out); out.close(); } }
相关文章推荐
- Apache 日志分析
- Apache+SVN搭建
- CentOS6 系统 LAMP(Apache+MySQL+PHP)安装步骤
- Apache & WebDav 配置(一)
- Unable to parse request org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. null
- 在docer上安装apache镜像
- org.apache.catalina.core.StandardWrapperValve invoke的解决办法
- 用 Apache 和 Subversion 搭建安全的版本控制环境
- Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.htaccess
- PHP, LDAPS and Apache
- Apache TEZ 编译、安装、配置、运行
- (2) 如何用Apache POI操作Excel文件-----如何在已有的Excel文件中插入一行新的数据?
- (1) 如何用Apache POI操作Excel文件-----入门
- APache PDFbox API使用(3)----如何得到一个带表单的PDF文件的表单结构
- apache 访问控制
- apache 日志切割
- 解决Apache服务器无法启动
- 64位系统下一键安装apache+php服务
- Apache Spark源码分析-- Job的提交与运行
- The type org.apache.commons.lang.exception.NestableRuntimeException cannot be resolved. 问题解决