POI生成 Word文件,Excel
阿新 • • 發佈:2018-12-21
工作需要,簡單的瞭解了一下,以下是簡單的利用POI生成的Word文件和Excel:
一: 匯入POI所需jar包(建議版本3.7以上,高一點,可用方法較多)
poi-3.8-20120326.jar poi-examples-3.8-20120326.jar poi-excelant-3.8-20120326.jar poi-ooxml-3.8-20120326.jar poi-ooxml-schemas-3.8-20120326.jar poi-scratchpad-3.8-20120326.jar
具體的jar包用途,請移步參考連結: POI各jar包用途
二:生成Word文件
匯入jar包後,即可使用生成Word和Excel
(1):生成Word:
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import org.apache.poi.xwpf.usermodel.ParagraphAlignment; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; public class TestPOIWord { //生成Word文件 public static void POIWord() throws IOException{ //建立文件物件 XWPFDocument document=new XWPFDocument(); //建立段落 XWPFParagraph createParagraph = document.createParagraph(); //設定文字的對齊方式 createParagraph.setAlignment(ParagraphAlignment.CENTER); //建立文字物件 XWPFRun createRun = createParagraph.createRun(); //設定文字樣式 createRun.setBold(true); //是否加粗 (也可設定字型顏色) createRun.setFontSize(30); createRun.setText("poi生成Word文件"); //自定義生成Word文件的路徑 String FilePath="c:\\test\\1112.docx"; OutputStream out =new FileOutputStream(FilePath); document.write(out); } public static void main(String[] args) throws IOException { POIWord(); System.out.println("word生成完成!"); } }
(2)生成Excel:
//POI生成Excel public static void poiExcel(){ XWPFDocument document=new XWPFDocument(); //建立表格(引數:1行數 2:列數) XWPFTable createTable = document.createTable(1,1); //設定表格屬性 CTTbl ctTb =createTable.getCTTbl(); CTTblPr addNewTblPr=ctTb.addNewTblPr(); //設定表格寬度 CTTblWidth tblWidth=addNewTblPr.addNewTblW(); tblWidth.setW(BigInteger.valueOf(8000)); tblWidth.setType(STTblWidth.DAX); //設定為固定。預設為auto //設定某行某列的樣式 XWPFTableRow row = createTable.getRow(0); XWPFTableCell cell = row.getCell(0); cell.setcolor("4D88F4"); cell.setVerticalAgument(WXPFVertAlign.center); //表格的列中巢狀段落 XWPFParagraph addParagraph = cell.addParagraph(); XWPFRun createRun = addParagraph.createRun(); createRun.setBold(true); //文字可設定顏色,字型大小,加粗等等 createRun.setFontSize(25); createRun.setText("名次"); CTTc ctTc=cell.getCTTc(); CTTcPr addCtpr=ctTc.addNewTcPr(); addCtpr.addNewVMerge.setVal(STMerge.CONTINUE); for (int i = 0; i < createTable.getRows().size(); i++) { XWPFTable tableCell=createTable.getRow(i).getCell(0); tableCell.setText("第"+i+"名次"); } //自定義生成路徑 String FilePath="c:\\test\\1112.docx"; OutputStream out =new FileOutputStream(FilePath); document.write(out); }
總結:建議自己寫demo,測試感受一下。