public class XlsReaderDemo {
static Logger logger = LoggerFactory.getLogger(XlsReaderDemo.class);
private static String dataFile = "department_data.xls";
public static final String xmlConfig = "departments.xml";
public static void main(String[] args) throws IOException, SAXException, InvalidFormatException {
logger.info("Running XLS Reader demo");
execute();
}
public static void execute() throws IOException, SAXException, InvalidFormatException {
logger.info("Reading xml config file and constructing XLSReader");
try(InputStream xmlInputStream = XlsReaderDemo.class.getResourceAsStream(xmlConfig)) {
XLSReader reader = ReaderBuilder.buildFromXML(xmlInputStream);
try (InputStream xlsInputStream = XlsReaderDemo.class.getResourceAsStream(dataFile)) {
Department department = new Department();
Department hrDepartment = new Department();
List<Department> departments = new ArrayList<>();
Map<String, Object> beans = new HashMap<>();
beans.put("department", department);
beans.put("hrDepartment", hrDepartment);
beans.put("departments", departments);
logger.info("Reading the data...");
reader.read(xlsInputStream, beans);
logger.info("Read " + departments.size() + " departments into `departments` list");
logger.info("Read " + department.getName() + " department into `department` variable");
logger.info("Read " + hrDepartment.getHeadcount() + " employees in `hrDepartment`");
logger.info("Printing IT department employees and birthdays:");
for (Employee employee : department.getStaff()) {
logger.info(employee.getName() + ": " + employee.getBirthDate());
}
}
}
}
}
错误信息16:03:55.589 [main] INFO org.jxls.demo.reader.XlsReaderDemo - Running XLS Reader demo
16:03:55.592 [main] INFO org.jxls.demo.reader.XlsReaderDemo - Reading xml config file and constructing XLSReader
Exception in thread "main" java.lang.IllegalArgumentException: InputStream to parse is null
at org.apache.commons.digester3.Digester.parse(Digester.java:1698)
at org.jxls.reader.ReaderBuilder.buildFromXML(ReaderBuilder.java:55)
at org.jxls.demo.reader.XlsReaderDemo.execute(XlsReaderDemo.java:35)
at org.jxls.demo.reader.XlsReaderDemo.main(XlsReaderDemo.java:29)