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