java對word文檔的操作(提取標題和內容等)-直接操作或poi工具包或freemarker+xml或html轉word


1,java自帶工具包實現對word的排版和寫入

import java.awt.Color;    
import java.io.FileNotFoundException;    
import java.io.FileOutputStream;
import java.util.List;

import com.lowagie.text.Document;    
import com.lowagie.text.DocumentException;    
import com.lowagie.text.Font;    
import com.lowagie.text.PageSize;    
import com.lowagie.text.Paragraph;    
import com.lowagie.text.rtf.RtfWriter2;  
/**   
  * 創建word文檔 步驟:    
  * 1,建立文檔    
  * 2,創建一個書寫器    
  * 3,打開文檔    
  * 4,向文檔中寫入數據    
  * 5,關閉文檔   
  */   
 public class Java2word {    
    
	  public Java2word() {    
	  }    
	    
	  /**   
	   * @param args   
	   */   
	  public static void main(String[] args) {   
		  creatDoc();
	  }
	  
	public static void creatDoc() {
		String path="E:\\test.doc";
		//設置紙張的大小  
		  Document document = new Document(PageSize.A4);   
		  try {    
				//創建word文檔
			   RtfWriter2.getInstance(document,new FileOutputStream(path)); 
			   
			   //打開文檔
			   document.open();    
			      
			    //創建段落
			Paragraph p = new Paragraph("帶格式寫入文檔",new Font(Font.NORMAL, 10, Font.BOLD, new Color(0, 0, 0)) );   
				  //設置段落為居中對齊
				  p.setAlignment(Paragraph.ALIGN_CENTER);  
				  //寫入段落
			      document.add(p);   
		      //關流
		      document.close(); 
		      System.out.println("end");
		  } catch (FileNotFoundException e) {    
		   e.printStackTrace();    
		  } catch (DocumentException e) {    
		   e.printStackTrace();    
		  } 
	}    
 }   

  2,java+poi實現對word的寫入

所需jar包poi-3.17

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
 
public class MTest {
	@SuppressWarnings("resource")
	public static void main(String[] args) throws IOException {
		//新建一個文檔  
	      XWPFDocument doc = new XWPFDocument();  
	      //創建一個段落  
	      XWPFParagraph para = doc.createParagraph();  
	       
	      //一個XWPFRun代表具有相同屬性的一個區域。  
	      XWPFRun run = para.createRun();  
	      run.setBold(true); //加粗  
	      run.setText("加粗的內容");  
	      
	      run = para.createRun();  
	      run.setColor("FF0000");  
	      run.setText("紅色的字。");
	      run=para.createRun();
	      run.setText("紅色");
	      
	      OutputStream os = new FileOutputStream("D:\\MTest.doc");  
	      //把doc輸出到輸出流  
	      doc.write(os);  
	      doc.close(); 
	}
}

3,freemarker+xml

4,jsp或html轉化成word


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM