在尝试使用jExcelAPI读取xls文件时,我发现该库在stderr中转储了大量信息,有时这些信息不相关。例如,此代码段会导致许多“警告”被转储到stderr流上:
Workbook workbook = Workbook.getWorkbook(new File(flname));
//For each sheet in the workbook
for (int currentSheet = 0; currentSheet < workbook.getNumberOfSheets(); currentSheet++)
{
Sheet sheet = workbook.getSheet(currentSheet);
System.out.println("Currently processing " + sheet.getName());
}
警告如下:
Currently processing frst sheet
Warning: Cell C33680 already contains data
Warning: Cell D33680 already contains data
Warning: Cell E33680 already contains data
Warning: Cell F33680 already contains data
Warning: Cell B33680 already contains data
Currently processing Lst Sheet
如何避免库转储所有这些不需要的数据?另外我不明白为什么代码甚至会查看工作表的所有单元格,当我要求它完成时,列出工作表的名称(我知道Workbook.getSheetNames()可以执行类似的任务 - 但是说我想在表格中打印单张纸的名称和单个单元格的内容。
我是否错误地使用了图书馆?
答案 0 :(得分:1)
我从未使用过此库,但是快速查看Logger.initializeLogger()它看起来默认情况下会尝试使用Log4J进行日志记录。你的CLASSPATH上有Log4J吗?您也可以使用SLF4J bridge。
成功将JExcelAPI重定向到日志记录框架后,您可以配置转储哪些邮件(以及在哪里)。