java poi excel给单元格增加批注(包含SXSSF)及设置列类型

复制代码
package javatest;

import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
import org.apache.poi.xssf.usermodel.XSSFComment;
import org.apache.poi.xssf.usermodel.XSSFDrawing;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class  PoiWriter  {
    public  static  void  main(String[] args)  throws IOException {
        // 创建工作簿对象
        XSSFWorkbook wb = new XSSFWorkbook();
        // 创建工作表对象
        XSSFSheet sheet = wb.createSheet("我的工作表");
        // 创建绘图对象
        XSSFDrawing p = sheet.createDrawingPatriarch();
        // 创建单元格对象,批注插入到4行,1列,B5单元格
        XSSFCell cell = sheet.createRow(4).createCell(1);
        // 插入单元格内容
        cell.setCellValue(new XSSFRichTextString("批注"));
        // 获取批注对象
        // (int dx1, int dy1, int dx2, int dy2, short col1, int row1, short
        // col2, int row2)
        // 前四个参数是坐标点,后四个参数是编辑和显示批注时的大小.
        XSSFComment comment = p.createCellComment(new XSSFClientAnchor(0, 0, 0,0, (short) 3, 3, (short) 5, 6));
        // 输入批注信息
        comment.setString(new XSSFRichTextString("这是批注内容!"));
        // 添加作者,选中B5单元格,看状态栏
        comment.setAuthor("toad");
        // 将批注添加到单元格对象中
        cell.setCellComment(comment);
        // 创建输出流
        FileOutputStream out = new FileOutputStream("d:/writerPostil.xlsx");

        wb.write(out);
        // 关闭流对象
        out.close();
    }

}
复制代码

尚未测试2003。

http://seymours.cn/articles/2018/09/30/1538293323698.html

https://blog.csdn.net/u012959498/article/details/78413265

设置列类型的话,可以使用如下:

CellStyle css = wb.createCellStyle();
DataFormat  format = wb.createDataFormat();
css.setDataFormat(format.getFormat("@"));
st.setDefaultColumnStyle(colIndex,css);

 

附,poi各包的作用。

The Apache POI distribution consists of support for many document file formats. This support is provided in several Jar files. Not all of the Jars are needed for every format. The following tables show the relationships between POI components, Maven repository tags, and the project's Jar files.

ComponentApplication typeMaven artifactIdNotes
POIFS OLE2 Filesystem poi Required to work with OLE2 / POIFS based files
HPSF OLE2 Property Sets poi  
HSSF Excel XLS poi For HSSF only, if common SS is needed see below
HSLF PowerPoint PPT poi-scratchpad  
HWPF Word DOC poi-scratchpad  
HDGF Visio VSD poi-scratchpad  
HPBF Publisher PUB poi-scratchpad  
HSMF Outlook MSG poi-scratchpad  
OpenXML4J OOXML poi-ooxml plus one of
poi-ooxml-schemas, ooxml-schemas
Only one schemas jar is needed, see below for differences
XSSF Excel XLSX poi-ooxml  
XSLF PowerPoint PPTX poi-ooxml  
XWPF Word DOCX poi-ooxml  
Common SS Excel XLS and XLSX poi-ooxml WorkbookFactory and friends all require poi-ooxml, not just core poi

 

当我们只要使用xls格式时、只要导入poi-version-yyyymmdd.jar就可以了。
当我们还要使用xlsx格式、还要导入poi-ooxml-version-yyyymmdd.jar。
至于poi-ooxml-schemas-version-yyyymmdd.jar这个jar基本不太会用到的。
当我们需要操作word、ppt、viso、outlook等时需要用到poi-scratchpad-version-yyyymmdd.jar。

posted @   zhjh256  阅读(10202)  评论(2编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2017-05-26 当我们在谈论技术时,技术的本质和价值究竟是什么?
2017-05-26 http状态码204/206/200/302/303/307
点击右上角即可分享
微信分享提示