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。