Tag: apache poi

POI HSSFCell类的getRichStringCellValue()和getStringCellValue()方法有什么区别?

我正在尝试使用Java POI读取存储在Excel工作表中的数据。 我对这两个方法感到困惑,因为这两种方法都会重新存储单元格中存储的string值。 任何人都可以解释这两种方法之间的区别吗?

错误:如何读取Excel中的空单元格

我试图从使用POI的Excel中读取数据。 我怎样才能检查这是一个空的单元格? 我不知道什么是缺less我认为这应该是工作: java.util.Iterator<Row> rows = worksheet.rowIterator(); HSSFRow row = (HSSFRow) rows.next(); HSSFCell cellF1 = (HSSFCell) row.getCell(5); if(cellF1.getCellType() == HSSFCell.CELL_TYPE_BLANK) { String val = ""; } 我得到了错误,如果语句(空指针),但只有当我使用这个我可以检查: while (rows.hasNext()) { HSSFRow row = (HSSFRow) rows.next(); java.util.Iterator<Cell> cells = row.cellIterator(); while (cells.hasNext()) { HSSFCell cell = (HSSFCell) cells.next(); if(cell.getCellType() == HSSFCell.CELL_TYPE_BLANK) { String emptytype = ""; […]

select一个Excel的Java API

我所需要做的就是打开一个MS excel工作表 – 不知道哪一种(2003,2007等),并将每一行中的信息parsing为一个对象。 我只执行只读操作。 Apache POI , JExcelAPI或者OpenXLS是否适合这项工作? 我宁愿不了解更多的API,但如果你确定这些都不是最好的,那么我会采取你的input。

使用POI创buildExcel工作簿时有哪些(陷阱和)限制?

刚刚看到一个崩溃,因为我们超过了255列。 也许这个问题应该直接进入POI,但是可以说我不想打扰他们努力进一步开发已经非常有用的API。 😉 限制页面不是一成不变的。 所以:假设输出在Excel中可读,你有什么实际的限制? 有没有人使用POI进行基准testing,探索POI生成的Excel文件的软硬限制? 我可以在POI界面中快速find的唯一限制如下。 微软列出了似乎没有在POI中涵盖的Excel的进一步限制 。 编辑:哎呀。 刚刚意识到我们过去5年没有刷新POI,所以下面的代码可能已经被replace了100次以上。 编辑:自那时以来,2008年10月19日的版本3.2以下的代码没有改变。 /** * @throws RuntimeException if the bounds are exceeded. */ private void checkBounds(int cellNum) { if (cellNum > 255) { throw new RuntimeException("You cannot have more than 255 columns "+ "in a given row (IV). Because Excel can't handle it"); } else if […]

在java中通过多张excel迭代

我对java很新。 我从Excel创buildpList。 我的Excel文件包含多个工作表。 我想遍历Excel文件的所有表单。 如何对此? 请帮忙。

如何检查一列是隐藏或不使用apache poi的excel文件

我想parsing一个xls文件使用Apache poi。 是否有可能检查列是否隐藏。 我怎样才能得到一个特定列的宽度。 例如:根据这里的post,它检查行是否隐藏。 同样,我想检查列的宽度(或检查列是否隐藏)

读取Excel中的数字单元格值,如同在Java中一样

当我阅读excel数值单元格值时,我得到的输出与小数。 例如:79读数为79.0,0.00读数为0.0。 我写的应用程序的代码是: int type = cell.getCellType(); if (type == HSSFCell.CELL_TYPE_NUMERIC) System.out.println(cell.getNumericCellValue());

什么给java.lang.NoClassDefFoundError?

我想阅读excel文件,但给 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlObject at ExcelReader.main(ExcelReader.java:32) Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlObject at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) … 1 more 请帮帮我。 首先打开.xlsx文件,然后给第一个工作表。 在控制台上打印excel文件的数据。 Ps:我添加poi-ooxml-3.9-20121203.jar到我的项目。 import java.io.File; import java.io.FileInputStream; import javax.swing.text.html.HTMLDocument.Iterator; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; […]

Apache POI – 使用XSSFWorkbok + servlet响应

我在我的Java应用程序中遇到问题,以启用下载XLSX文件。 下面的例子显示在这个链接: 创build一个Excel文件供用户使用Apache POI下载 ,我尝试了两种configuration下载/保存电子表格。 首先用.XLS文件: response.setContentType("application/ms-excel"); response.setHeader("Content-Disposition", "attachment; filename=testxls.xls"); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFRow row = sheet.createRow(0); HSSFCell cell = row.createCell(0); cell.setCellValue("Some text"); ByteArrayOutputStream outByteStream = new ByteArrayOutputStream(); wb.write(outByteStream); byte[] outArray = outByteStream.toByteArray(); OutputStream outStream = response.getOutputStream(); outStream.write(outArray); outStream.flush(); 这工作。 然后我尝试了一个XLSX文件: response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader("Content-Disposition", "attachment; filename=testxls.xlsx"); XSSFWorkbook wb = new […]

如何删除POI生成的Excel中的警告?

我正在使用Apache POI将内容写入Excel表单。 在所有单元格中都有数字的单元格中生成一个excel后,它会包含一个蓝色标记(每个单元格左上angular)。 它就像一个警告。 如何在将内容写入excel时删除它们? PFA屏幕截图。 谢谢!