私は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ファイルをデータで書き込むことはできません。なぜならそれはビジネス側では禁止されており、それはかなり効率的だとは思わないからです。
おかげで、これは非常に素晴らしい記事のように思えます。 DocumentBuilderFactoryを使用します。私はそれを使わないことを望んでいましたが、これが行く方法だと思われます。 –