2016-10-10 3 views
1

私はJavaの新機能を使いました。Java:ExcelファイルにXMLコンテンツを含むStringWriter

PrepareXMLService.java xmlStringWriter

public StringWriter prepare(Report report) throws JAXBException { 
     StringWriter xmlStringWriter = new StringWriter(); 

     JAXBContext jaxbContext = JAXBContext.newInstance(Report.class); 
     Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); 

     jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); 
     jaxbMarshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); 

     jaxbMarshaller.marshal(report, xmlStringWriter); 

     return xmlStringWriter; 
    } 

XMLコンテンツ:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<report> 
    <reportObject> 
     <object>CLIENT_ID</object> 
     <objectValue>1111111</objectValue> 
    </reportObject> 
    <reportContent> 
     <reportInterval> 
      <startDate>2015-07-01T00:00:00+03:00</startDate> 
      <endDate>2016-06-30T23:59:59+03:00</endDate> 
     </reportInterval> 
     <client> 
      <clientId>1111111</clientId> 
      <clientName>test</clientName> 
      <clientTown>test</clientTown> 
      <clientAddress>test</clientAddress> 
     </client> 
     <transaction> 
      <transactionDate>2015-10-23T00:00:00+03:00</transactionDate> 
      <transactionAmount>23</transactionAmount> 
      <transactionCurrency>7777</transactionCurrency> 
      <transactionClientId>8798768789</transactionClientId> 
      <transactionNetAmount>22</transactionNetAmount> 
     </transaction> 
    </reportContent> 
</report> 

私がする必要がある私は、JAXBを使用して、XMLコンテンツを持つにStringWriterを生成するJavaメソッドを持っていますこのStringWriterからExcelファイルを作成します。 Apache POIを使用する必要がありますが、StringWriterを使ってどのように行うことができるのか分かりません。後で読むために物理的なXMLファイルをデータで書き込むことはできません。なぜならそれはビジネス側では禁止されており、それはかなり効率的だとは思わないからです。

答えて

関連する問題