草庐IT

java - XSSF POI 是单元格日期

有没有办法确定单元格是否为日期?我知道style.getDataFormatString()但这对我没有帮助,因为我无法确定格式是否适用于日期。 最佳答案 如果您使用的是XSSF用户模型,那么您需要DateUtil.isCellDateFormatted(Cell)-这将返回一个boolean值,告诉您单元格的格式字符串是否表示数据。如果您不了解低级XML内容,则需要DateUtil.isADateFormat(int,String)反而。样式ID来自单元格xml。您必须从样式表中获取的样式字符串,这是一个不同的包部分。虽然有一些帮

java - XSSFWorkbook 需要很长时间才能加载

我正在使用以下代码:Filefile=newFile("abc.xlsx");InputStreamst=newFileInputStream(file);XSSFWorkbookwb=newXSSFWorkbook(st);xlsx文件本身有25,000行,每行有500列的内容。在调试过程中,我看到我创建XSSFWorkbook的第三行,完成此语句需要很多时间(1小时!)。有没有更好的方法来访问原始xlsx文件的值? 最佳答案 首先,当您有文件时,不要从InputStream加载XSSFWorkbook!使用InputStream

java - 在 apache POI 中自动换行 (Excel)

我有一个java程序,它将标题和数据作为输入并生成一个excel文件。但是,有时当标题值很长且列数较多时,我的excel工作表往往会变得不必要地宽。由于标题,我必须向下滚动到右侧才能看到尾端列的内容。有没有一种方法可以解决这个问题,如果单元格中的内容比值x大,那么会自动换行并自动调整行高和固定列宽。我正在寻找的粗略算法是:if(content.sizeismorethen50chars){-applyautowrapwithcentredtext-adjusttherowheightaccordingly-adjustallthecellsinthecolumnaccordingly}

java - Apache POI XSSF 读取 excel 文件

我只是有一个关于如何使用Apache的XSSF格式读取xlsx文件的快速问题。现在我的代码是这样的:InputStreamfs=newFileInputStream(filename);//(1)XSSFWorkbookwb=newXSSFWorkbook(fs);//(2)XSSFSheetsheet=wb.getSheetAt(0);//(3)...导入所有相关内容。我的问题是,当我点击运行时,它卡在第(2)行,几乎陷入无限循环。filename只是一个字符串。如果有人能给我一些关于如何解决这个问题的示例代码,我将不胜感激。我现在只想从xlsx文件中读取单个单元格;我对xls文件使

java - 处理大型 xlsx 文件

我需要自动适应大型(30k+行)xlsx文件中的所有行。通过apachepoi的以下代码适用于小文件,但在大文件上会出现OutOfMemoryError:Workbookworkbook=WorkbookFactory.create(inputStream);Sheetsheet=workbook.getSheetAt(0);for(Rowrow:sheet){row.setHeight((short)-1);}workbook.write(outputStream);更新:不幸的是,增加堆大小不是一个选项-OutOfMemoryError出现在-Xmx1024m并且30k行不是上限。

java - 处理大型 xlsx 文件

我需要自动适应大型(30k+行)xlsx文件中的所有行。通过apachepoi的以下代码适用于小文件,但在大文件上会出现OutOfMemoryError:Workbookworkbook=WorkbookFactory.create(inputStream);Sheetsheet=workbook.getSheetAt(0);for(Rowrow:sheet){row.setHeight((short)-1);}workbook.write(outputStream);更新:不幸的是,增加堆大小不是一个选项-OutOfMemoryError出现在-Xmx1024m并且30k行不是上限。

java - 如何解决 java.lang.VerifyError : org/apache/poi/xssf/usermodel/XSSFWorkbook?

我正在尝试从Assets文件夹中读取xlsx文件。我收到以下异常,05-1610:12:05.613:E/AndroidRuntime(2915):FATALEXCEPTION:main05-1610:12:05.613:E/AndroidRuntime(2915):java.lang.VerifyError:org/apache/poi/xssf/usermodel/XSSFWorkbook在此异常之前,我还收到了一些警告,例如,Couldnotfindmethodorg.openxmlformats.schemas.spreadsheetml.x2006.main.Workbook

java - 向 POI XSSF 工作簿中的合并区域添加边框

我使用的是apachepoi3.7,我需要为一系列单元格或合并区域设置边框。当工作表和工作簿类型为XSSF时,如何将边框应用于合并区域。在HSSF类型中,我使用RegionUtil-/HSSFRegionutil,但如果在XSSF类型中使用第一个对象(Regionutil),则它不起作用,并为单元格范围添加黑色背景色。Regionutil通常与CellRangeAddress配合使用,但我找不到有关此问题的信息。我不知道CellRangeAddres是否会导致此问题。 最佳答案 为此,您必须向合并区域中的每个单元格添加一个空白单元格

java - 无法在 Apache POI 中导入 XSSF

我引用的是3.7版的ApachePOI,但当我这样做时出现“无法解决”错误:importorg.apache.poi.xssf.usermodel.XSSFWorkbook;引用POI的其他导入语句请勿给我错误,例如:importorg.apache.poi.ss.usermodel.*;有什么想法吗?? 最佳答案 要使OOXML工作,您需要与POIjar分开打包的POI-OOXMLjar。从以下位置下载POI-OOXMLjar-http://repo1.maven.org/maven2/org/apache/poi/poi-oox

java - 无法在 Apache POI 中导入 XSSF

我引用的是3.7版的ApachePOI,但当我这样做时出现“无法解决”错误:importorg.apache.poi.xssf.usermodel.XSSFWorkbook;引用POI的其他导入语句请勿给我错误,例如:importorg.apache.poi.ss.usermodel.*;有什么想法吗?? 最佳答案 要使OOXML工作,您需要与POIjar分开打包的POI-OOXMLjar。从以下位置下载POI-OOXMLjar-http://repo1.maven.org/maven2/org/apache/poi/poi-oox