为了使用apache POI读取xlsx
文件,我已经下载了zip并将以下jsrs放在我的servlet位置webcontent/web-inf/lib
中并配置了构建路径蚀
我的代码如下,
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
File uploadedFile = new File(fpath, fileName);
item.write(uploadedFile);
String mimeType = (Files.probeContentType(uploadedFile.toPath())).toString();
System.out.println(mimeType);
if(mimeType.equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"))
{
FileInputStream file = new FileInputStream(uploadedFile);
XSSFWorkbook workbook = new XSSFWorkbook(file);
for (int i =0; i < workbook.getNumberOfSheets(); i++)
{
XSSFSheet sheet = workbook.getSheetAt(i);
Iterator<Row> row = sheet.iterator();
while(row.hasNext()) {
Iterator<Cell> cellIterator = ((Row) row).cellIterator();
while(cellIterator.hasNext()) {
Cell cell1 = cellIterator.next();
switch(cell1.getCellType())
{
case Cell.CELL_TYPE_BOOLEAN:
System.out.print(cell1.getBooleanCellValue() + "\n");
break;
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell1.getNumericCellValue() + "\n");
break;
case Cell.CELL_TYPE_STRING:
System.out.print(cell1.getStringCellValue() + "\n");
break;
}
}
虽然这在eclipse上没有显示和错误但是当我尝试运行代码时显示以下错误
我的错误是什么?怎么解决这个问题?
答案 0 :(得分:35)
您需要将XML beans依赖项添加到类路径中。
该库通常称为xmlbeans-x.x.x.jar
答案 1 :(得分:4)
将xmlbeans-xpath.jar添加到您的库中。
答案 2 :(得分:4)
答案 3 :(得分:0)
似乎您可能正在尝试使用旧格式的POI版本来生成Office 2007格式。将poi-ooxml
jar用于新格式。