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.
Component | Application type | Maven artifactId | Notes |
---|---|---|---|
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。