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(); } }
CellStyle css = wb.createCellStyle(); DataFormat format = wb.createDataFormat(); css.setDataFormat(format.getFormat("@")); st.setDefaultColumnStyle(colIndex,css);
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.ide
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。post