2017-08-14 211 views
0

グラフを含むMicrosoft Word文書をJavaで作成する必要があります。私はApache POIを試していますが、それを行う方法は見つけていません。これを行う方法の例はありますか?apache poiでグラフを作成する

+0

(XLS用) 'HSSF'または(XLSX用)' XSSF': あなたは公式ポイバージョンで4.0

コード例をこのコードを得ることができますか?マイクロワードのための – Gagravarr

+0

so DOCX – valanto

答えて

0

Temp Ms-Wordファイルを使用してグラフを作成できます。 あなたのTemp Ms-Wordファイルにチャートを作成し、カスタマイズされたPOI jarを使って読み込み、実際のMs-wordファイル https://github.com/sandeeptiwari32/POI_ENHN/blob/master/POI3.14.jarに書き戻してください。

import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.io.IOException; 

import org.apache.poi.POIXMLDocumentPart; 
import org.apache.poi.openxml4j.exceptions.InvalidFormatException; 
import org.apache.poi.xwpf.usermodel.XWPFChart; 
import org.apache.poi.xwpf.usermodel.XWPFDocument; 
import org.openxmlformats.schemas.drawingml.x2006.chart.CTChart; 
import org.openxmlformats.schemas.drawingml.x2006.chart.CTTitle; 
import org.openxmlformats.schemas.drawingml.x2006.chart.CTTx; 
import org.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun; 
import org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody; 
import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph; 

public class TestXWPFChart { 

    public static void main(String[] args) throws Exception { 
FileInputStream inpuFile=new FileInputStream("input.docx"); 
     FileOutputStream outFile = new FileOutputStream("output.docx"); 
     @SuppressWarnings("resource") 
     XWPFDocument document = new XWPFDocument(inpuFile); 
     XWPFChart chart=null; 
     for (POIXMLDocumentPart part : document.getRelations()) { 
      if (part instanceof XWPFChart) { 
       chart = (XWPFChart) part; 
       break; 
      } 
     } 
     //change chart title from "Chart Title" to XWPF CHART 
     CTChart ctChart = chart.getCTChart(); 
     CTTitle title = ctChart.getTitle(); 
     CTTx tx = title.addNewTx(); 
     CTTextBody rich = tx.addNewRich(); 
     rich.addNewBodyPr(); 
     rich.addNewLstStyle(); 
     CTTextParagraph p = rich.addNewP(); 
     CTRegularTextRun r = p.addNewR(); 
     r.addNewRPr(); 
     r.setT("XWPF CHART"); 

     //write modified chart in output docx file 
     document.write(outFile); 
} 
} 
関連する問題