<dependency>
<groupId>net.sf.jxls</groupId>
<artifactId>jxls-reader</artifactId>
<version>2.0.2</version>
</dependency>
import net.sf.jxls.reader.XLSReader;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.xml.sax.SAXException;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
public class ExcelReportGenerator {
public static void main(String[] args) {
try {
File templateFile = new File("template.xls");
FileInputStream inputStream = new FileInputStream(templateFile);
Map<String, Object> data = new HashMap<>();
data.put("orderTotal", 1000);
XLSReader reader = ReaderBuilder.buildFromXML(new File("config.xml"));
try (OutputStream outputStream = new FileOutputStream("output.xls")) {
Workbook workbook = reader.read(inputStream, data);
workbook.write(outputStream);
}
inputStream.close();
e.printStackTrace();
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<workbook>
<worksheet name="Sheet1">
<loop startRow="1" endRow="1" items="orders" var="order">
<section startRow="3" endRow="3" items="order.items" var="item">
<cell row="3" col="2" mergeAcross="7" style="headerCellStyle">
<block>
</block>
</cell>
<rowBreak row="3"/>
</section>
</loop>
</worksheet>
</workbook>