草庐IT

java - 使用 Apache POI 读取 xlsx 文件时出现异常(org.apache.poi.openxml4j.exception - 无内容类型 [M1.13])?

我正在使用ApachePOI(XSSFAPI)读取xlsx文件。当我尝试读取文件时,出现以下错误:org.apache.poi.POIXMLException:org.apache.poi.openxml4j.exceptions.InvalidFormatException:Packageshouldcontainacontenttypepart[M1.13]代码:publicclassReadXLSX{privateStringfilepath;privateXSSFWorkbookworkbook;privatestaticLoggerlogger=null;privateInp

java - 使用 jxl api/Apache POI 编辑现有的 excel 文件

我很感兴趣,想了解更多关于java的知识,如何写入现有的excel表格/操作现有的数据。我想知道你是否能给我一个关于如何编辑现有excel文件并使用jxlapi/ApachePOI保存它的想法或者给我一个关于如何编辑现有excel文件中的一些数据然后保存的示例程序提前致谢!! 最佳答案 教程here非常有帮助并且写得很好。他们使用由ApachePOI项目开发的外部JAR。这是一个编辑一个单元格的简单示例:InputStreaminp=newFileInputStream("wb.xls");Workbookwb=WorkbookFa

java - 使用 apache poi 合并和对齐中心单元格

我想使用Apachepoi将数据导出到excel。现在我面临的问题是我无法合并行并将它们在中心对齐。导出数据的代码是:List>lstReportHeader=null;HSSFWorkbookwb=newHSSFWorkbook();HSSFSheetsheet=wb.createSheet();//SetHeaderFontHSSFFontheaderFont=wb.createFont();headerFont.setBoldweight(headerFont.BOLDWEIGHT_BOLD);headerFont.setFontHeightInPoints((short)12)

java - 如何使用 Apache POI 检查 Excel 单元格是否为空?

我正在使用Poi.jar从Excel表中获取输入,并且想知道如何检查单元格是否为空。现在我正在使用下面的代码。cell=myRow.getCell(3);if(cell!=null){cell.setCellType(Cell.CELL_TYPE_STRING);//System.out.print(cell.getStringCellValue()+"\t\t");if(cell.getStringCellValue()!="")depend[p]=Integer.parseInt(cell.getStringCellValue());}} 最佳答案

java - 使用 Apache POI 的基本 Excel 货币格式

我可以让单元格格式化为日期,但我无法让单元格格式化为货币......有人有一个如何创建样式以使其正常工作的示例吗?我下面的代码显示了我正在创建的样式...styleDateFormat像冠军一样工作,而styleCurrencyFormat对单元格没有影响。privateHSSFWorkbookwb;privateHSSFCellStylestyleDateFormat=null;privateHSSFCellStylestyleCurrencyFormat=null;......publicCouponicsReportBean(){wb=newHSSFWorkbook();Init

java - 使用 Apache POI HSSF,如何一次刷新所有公式单元格?

我正在使用ApachePOI填充Excel文件的单元格,并且文档中有很多公式单元格。但是,当我在Excel中打开文档时,它们的值不会刷新。据我了解,我需要使用FormulaEvaluator来刷新公式单元格。但是,有没有办法一次更新所有公式单元格?其中有很多,虽然列出详尽的list并非不可能,但我肯定不是很愿意这样做。 最佳答案 当然。无论如何,刷新工作簿中的所有公式可能是更典型的用例。如果您使用HSSF,请调用evaluatorAllFormulaCells:HSSFFormulaEvaluator.evaluateAllForm

java - 如何将 POI HSSFWorkbook 转换为字节?

调用简单toBytes()确实会产生字节,但exel会引发警告。LostDocumentinformation谷歌搜索给了我这个link看着Javadocs用于工作表和POIHOW-TO说类似的话。基本上我不能在不丢失一些信息的情况下获得Bytes,而应该使用write方法。虽然write工作正常,但我确实需要将字节发送过来。有什么办法可以做到吗?那就是在没有任何警告的情况下获取字节。 最佳答案 正如那个邮件列表帖子所说InvokingHSSFWorkbook.getBytes()doesnotreturnallofthedatan

java - Apache POI 中行的自动大小高度

我正在使用ApachePOI将值输入到电子表格中。这些值有换行符,我能够成功使用这段代码:CellStylestyle=cell.getCellStyle()style.setWrapText(true)cell.setCellStyle(style)不幸的是,虽然文本正确换行,但行的高度并不总是增长到足以显示内容。如何确保我的行总是正确的高度? 最佳答案 currentRow.setHeight((short)-1)适用于XSSFCell和Excel2013 关于java-Apache

java - 来自十六进制代码的 Apache POI XSSFColor

我想将单元格的前景色设置为十六进制代码中的给定颜色。例如,当我尝试将其设置为红色时:style.setFillForegroundColor(newXSSFColor(Color.decode("#FF0000")).getIndexed());无论我在decode函数的参数中设置什么Hex值,getIndexed函数总是返回黑色。会不会是我做错了什么?我认为这是一个错误,但我不确定...... 最佳答案 好消息是,如果您使用的是XSSF,而不是HSSF,那么您的问题的解决方案相当容易。您只需要将样式变量转换为XSSFCellSty

java - 为 POI 生成的 Excel 文件中的单元格添加边框

我正在使用POI生成Excel文件。我需要为工作表中的特定单元格添加边框。我怎样才能做到这一点? 最佳答案 以单元格中使用的样式设置边框将完成此操作。示例:style.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);style.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);style.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);style.setBorderLeft(HSSFCellStyle.BORDER_M