Tag: apache poi

在阅读excel时使用apacahe poi获取未知字符

我正在使用一个使用Java和selenium开发的框架。 在使用apache poi从excel中读取值时,用空格replace未知字符。 有没有人遇到过这个问题? 如果请让我知道解决scheme。 提前致谢。

Android + POI Excel +在现有文件中添加数据

我想附加在现有的Excel文件中的数据,但没有写入。 我究竟做错了什么? public static void writeSheet(String data) { HSSFWorkbook workbook; try { String outFileName = "filebook.xls"; File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); File outFile = new File(path, outFileName); workbook = (HSSFWorkbook) WorkbookFactory.create(outFile); Row row = workbook.getSheetAt(0).createRow(0); Cell cell = row.createCell(0); cell.setCellValue("text"); OutputStream outputStream = new FileOutputStream(outFile,true); workbook.write(outputStream); outputStream.close(); workbook.close(); } catch (Exception e) { e.printStackTrace(); } }

SOAPUI:无法parsing类XSSFWorkBook错误

在SoapUI中使用Apache POI时出现以下错误。 无法解决类XSSFWorkBook错误 我在SOAPUI中导入POI,并将poi jar文件放在/ bin / ext中。 我试着版本3.14以及3.15testing版。 (我附上了错误)。 我在这里错过了什么? 任何帮助将不胜感激。 这里是代码: import org.apache.poi.xssf.usermodel.* import org.apache.poi.xssf.usermodel.XSSFWorkbook; def fs = new FileInputStream ("C:\\Users\\JDoe\\Desktop\\SOAP_Learn\\SOAP_Test_Data.xlsx") def wb = new XSSFWorkBook (fs) //–>> gives error in this line def ws = wb.getSheet("Sheet1") def r = ws.getPhysicalNumberOfRows() enter code here << Stack Trace >> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script5.groovy: 14: […]

如何获得使用apache POI的Excel单元格(xlsx)的背景颜色名称

要求:我想读一个Excel工作表,并对工作表中突出显示的单元格执行一些操作,例如背景颜色为黄色的单元格。 我经历了所有其他类似的post,但无法获得所需的信息。 我尝试使用getFillBackgroundColor() ,每次返回值为64每种颜色。 我尝试使用getFillBackgroundColorColor()返回一个颜色对象,但我找不到一种方法来解决它的颜色名称。 请任何人都可以帮助我

使用没有标题的POI读取Excel文件

我想阅读excel文件使用poi没有标题头,我的预期结果是这样的 这是我的代码 public String processExcel(Model model, @RequestParam(value = "excelfile", required = false) MultipartFile excelfile, HttpSession session) { try { List<UserRegistrationDetail> lstUser = new ArrayList<>(); Workbook workbook = null; if (excelfile.getOriginalFilename().endsWith("xlsx")) { workbook = new XSSFWorkbook(excelfile.getInputStream()); } else if (excelfile.getOriginalFilename().endsWith("xls")) { workbook = new HSSFWorkbook(excelfile.getInputStream()); } else { model.addAttribute("msg", new IllegalArgumentException("The specified file is not Excel […]

Apache POI:检查列是否为空

我需要检查列是否为空或不在.xlsx文件中,但找不到比此更平滑的内容: public static boolean isColumnEmpty(int column, int firstRow, XSSFSheet sheet) { XSSFRow row = sheet.getRow(firstRow); while (row != null) { Cell c = row.getCell(column, Row.RETURN_BLANK_AS_NULL); if (c != null) { return false; } row = sheet.getRow(firstRow++); } return true; } firstRow只是你想要开始的行(实际上我的列不是完全空的,还有一个标题)。 我想知道你们有没有更好的主意?

在Excel中打开时使用Apache POI更新xls文件

我正在开发一个Java类,它通过Apache POI生成一个xls文件。 我需要运行这个类几个,每天打开生成的文件几次。 如果我在Excel中仍然打开文件时运行该程序,程序不会引发错误,但文件不会更新(closures并重新打开,但仍然是相同的)。 奇怪的是,我没有得到任何例外,就像这个问题所报道的那样。 有没有办法强制更新打开的Excel文件? 否则,在写入文件之前是否可以使用系统调用杀死excel窗口(我正在使用Windows)?

poi-ooxml-schemas-3.14 JAR中缺lessSTSheetViewType类

目前我正试图实现这个问题的答案给出的代码: CTSheetView view = sheet.getCTWorksheet().getSheetViews().getSheetViewArray(0); view.setView(STSheetViewType.PAGE_LAYOUT); 但poi-ooxml-schemas(版本3.14)JAR文件不包含类STSheetViewType。 我深入研究了poi-ooxml-schemas JAR文件(使用7ZIP),发现类文件STSheetViewType $ Enum.class存在于path中: org.openxmlformats.schemas.spreadsheetml.x2006.main.STSheetViewType $ Enum.class 但是(如果我没有错)“$”表示一个内部/嵌套类,这意味着STSheetViewType枚举被封装在另一个类。 我在这里检查了旧版本poi-ooxml-schemas(版本1.1)中STSheetViewType类的文档,发现类STSheetViewType包含一个内部Enum STSheetViewType.Enum。 这也似乎证实了我从Eclipse中收到的错误。 使用上面显示的代码时出现这些错误: “STSheetViewType不能parsing为variables” “typesorg.openxmlformats.schemas.spreadsheet.xml.x2006.main.STSheetViewType无法parsing,它是从所需的.class文件间接引用的” 这进一步使我相信STSheetViewType.Enum缺less其父STSheetViewType类文件。 但为什么? 我检查了poi-ooxml-schemas-3.14的新版本的文档,发现更新日志中没有提到STSheetViewType。 我已经下载了POI的二进制压缩文件几次,以确保我的下载没有错误,我甚至下载了源代码,并尝试构buildJAR,但每次都丢失类文件。 我发现类似STSheetViewType看起来相同的function是在另一个Jar文件中,但我似乎无法正确导入类。 这样的事情甚至可能吗? 或者必须将类文件与poi-ooxml-schemas-3.14 JAR文件一起使用? 最终,我想了解如何使上面的代码与当前版本的poi-ooxml-schemas-3.14 JAR兼容。 任何信息或见解,将不胜感激。

在excel POI中创build一个小圆圈

我知道这个问题可能看起来相似,但我有不同的问题。 我知道如何创build一个圆或形状。 这是我想要创build的 在Excel单元格的中心有一个小圆圈 我可以做的圈子,看教程等是: 这是我用来创build的代码: CreationHelper helper = workbook.getCreationHelper(); Drawing drawing = worksheet.createDrawingPatriarch(); ClientAnchor anchor = helper.createClientAnchor(); anchor.setCol1(0); anchor.setRow1(0); anchor.setCol2(1); anchor.setRow2(1); anchor.setDx1(255); anchor.setDx2(255); anchor.setDy1(0); anchor.setDy2(0); XSSFSimpleShape shape = ((XSSFDrawing)drawing).createSimpleShape((XSSFClientAnchor)anchor); shape.setShapeType(ShapeTypes.FLOW_CHART_CONNECTOR); shape.setFillColor(255, 0, 0); 我认为这与dx1,dx2,dy1,dy2有关,但是设置任何值都没有效果。 我需要以某种方式使这个形状变小

使用apache poi方法检查excel中的空行

我可以使用apache POI方法检查excel中的空行吗? XSSFSheet sheet = workbook.getSheetAt(i); sheet.getRow(0)!= null; 我正在考虑尝试这个,但是我只是想检查一下是否会有任何问题。 任何build议? 谢谢