1. 程式人生 > >POI生成 Word文件,Excel

POI生成 Word文件,Excel

工作需要,簡單的瞭解了一下,以下是簡單的利用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,測試感受一下。