Tag: xssf

打印结果XSSFCell.setCellFormula()

当我运行下面的代码,他只是打印第一个公式,但不是第二个,我不知道为什么。 for(int r = 13;r<15;r++){ row = sheet.getRow(r); cell = row.createCell(i, XSSFCell.CELL_TYPE_FORMULA); cell.setCellStyle(StyleOfThisCell.getTotalStyle(workbook)); String formule = "SUM(C"+(row.getRowNum()+1)+":"+CellReference.convertNumToColString(row.getCell(i-1).getColumnIndex())+(row.getRowNum()+1)+")"; cell.setCellFormula(formule); } 请你帮我,让我知道,如果我忘记了我的结果。 谢谢 我刚刚看到一个问题:我用libreOffice打开我的excel。 如果我用Microsoft Excel打开它,我不能看到我的总数。 但是,如果我点击激活修改,我的两个总数出现。 我不明白。

POI-XSSF:单元格types是FORMULA,但无法获得cachedResultType

在我的代码中,我正在检查单元格types,如果单元格types是公式,那么我正在尝试获取caching的值,如下所示: else if(cell.getCellType() == XSSFCell.CELL_TYPE_FORMULA){ System.out.println("formula result type:" +cell.getCachedFormulaResultType()); switch(cell.getCachedFormulaResultType()){ case XSSFCell.CELL_TYPE_NUMERIC: …. …. break; 它对一些细胞工作正常,但在其中一个细胞中,我得到非法状态exception: java.lang.IllegalStateException: Only formula cells have cached results 我无法找出错误的原因。 我不使用cell.getCachedFormulaResult()之外, else if ,甚至这适用于所有前面的单元格(它们具有相同的公式)

用java对象映射excel字段的最佳方式

我正在尝试用java对象来映射一个excel字段。 什么是最好的方式,而不是依赖于列号。 Cell orderId=row.getCell(0); System.out.println("orderId" +orderId); Cell trackingId=row.getCell(1); Cell orderTitle = row.getCell(2); Cell customerName = row.getCell(3); Cell customerAddress = row.getCell(5); 如何用没有bieng的对象variables映射列依赖于列号? 我正在寻找的东西,我可以映射行标题与对象,其余应该是独立的行号。 有什么build议么?

Apache POI – 生成引用其他单元格的条件格式

我使用Apache POI以Java生成XSSF电子表格。 我想要做的是生成一个条件格式公式,类似于“如果单元格中的值$ A2 =”X“,将$ C2绿色”,然后将其应用到C列一路。 我还没有看到这个在线的任何例子,但我看到的所有例子只处理一列,而不是引用。 有可能吗?

XSSF计数缺less的行数

我正在尝试编写一个读取Excel模板的函数,并开始在某个行索引处写入数据。 但是,我发现编号跳过了模板中的空白行。 有没有办法在迭代过程中计算空行? 我试图find一个等同于缺less单元策略的行 。 我也尝试了这两种迭代方式: //simple for loop for (Row row : sheet1) { for (Cell cell : row) { … } } //iterator while (rows.hasNext()) { XSSFRow row = ((XSSFRow) rows.next()); … } 两者似乎都忽略空行。 这会导致问题,因为我的模板有空白的行来分隔引起行索引的部分,而且我必须手动更正目标索引,以执行“开始在工作表第5行中写入”这样的任务。

如何在POI XSSF事件模型中获取单元格未格式化的值?

单元格A1具有公式“= A2” ,并被格式化以显示1个小数点 单元格A2的值为4.23 单元格A1显示4.2(格式化的显示值) 单元格A2显示4.23(格式化的显示值) 我的XSSF eventmodel sheetContentHandler类实现 public void cell(String cellReference,String formattedValue,XSSFComment comment) 但formattedValue为单元格A1返回4.2,我想要检索无格式的值 4.23 我怎样才能做到这一点 ? (我不能改变到用户模式,我有巨大的文件)

如何将图表从Excel保存为图像/ PDF?

我想使用Apache POI and Java从我的.xlsx文件中提取/读取图表(条形图/饼图等), 并将其保存为图像或PDF格式在我的硬盘上。 这可能吗? 如果是的话,怎么样? 谢谢!

从依赖jar中找不到的类

在我的项目中,我使用apache.poi库来处理excel文件。 我有依赖关系: apache.poi.ooxml_3.15 apache.poi_3.15 apache.poi.ooxml_schemas_3.15 jar子。 所以在编译过程中没有问题。 运行时: import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; … Workbook workbook2003 = new HSSFWorkbook(); //1 Workbook workbook2007 = new XSSFWorkbook(); //2 第1行工作正常,而第2行引发exception: Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Workbook cannot be found by org.apache.poi.ooxml_3.15.0 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161) at java.lang.ClassLoader.loadClass(Unknown Source) … 41 more org.apache.poi.ss.usermodel.Workbook位于apache.poi_3.15但在运行时jvm试图在apache.poi.ooxml_3.15find它。 不知道为什么? 也许有人可以帮我解决这个问题。 有关项目的更多细节: […]

Java Apache POI – XSSFCell setFillBackgroundColor无效

我已经看遍了堆栈溢出,似乎无法让我的Java代码来填充XSSF Excel单元格的背景颜色。 从别人的话说,这应该使左上angular的单元格变成黄色: // Example Code try { // prepare FileInputStream resource = new FileInputStream( FILEPATH + FILENAME ); XSSFWorkbook workbook = new XSSFWorkbook( resource ); XSSFSheet sheet = workbook.createSheet( "Example Sheet" ); // create XSSFRow row = sheet.createRow( 0 ); XSSFCell cell = row.createCell( 0 ); XSSFCellStyle style = workbook.createCellStyle(); XSSFColor color = new […]

Apache POI:Excel数据透视表 – 行标签

我有一个要求在JAVA中创build一个Excel表格,如下所示: 我无法创build一个并排多列的行标签(菜单和子菜单filter)。 而不是显示在不同列中的子菜单,而是在菜单栏下。 以下是我写的一段代码: XSSFSheet sheet = my_xlsx_workbook.getSheetAt(0); AreaReference a=new AreaReference("A1:G7"); CellReference b=new CellReference("I5"); XSSFPivotTable pivotTable = sheet.createPivotTable(a,b); pivotTable.addReportFilter(0); pivotTable.addReportFilter(1); pivotTable.addRowLabel(2); pivotTable.addRowLabel(3); pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 4, "Sum"); 但是它的错误显示如下: 有人可以帮帮我吗 ?