Tag: java

阅读大型Excel文件.xlsx

我正在使用库 org.apache.poi XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream); 我尝试着 org.xml.sax 库,但无法将其转换为工作簿 注意:最后结果我希望返回XSSFWorkbook 上面的代码将会出现内存不足,任何帮助将提前感谢ThankQ

如何将XSSF颜色转换为Java.awt.color格式。 因为XSSF颜色无法比较

我明确地发布了代码。 我想在excel中获得单元格的颜色,我发布了我的excel文件,并且只有两种颜色,绿色和黄色。 如果我使用XSSFColor,打印输出是XSSFColor @ 8b21b8fa和XSSFColor @ dfcdb1。 因此,我无法比较它是绿色还是黄色。 如果是黄色,我希望打印出1;如果是绿色,我希望打印出0。 谢谢你的帮助!!! for(Row row : sheet) { for(Cell cell : row) { switch(formulaEvaluator.evaluateInCell(cell).getCellType()) { case Cell.CELL_TYPE_BLANK: Color cellColor= cell.getCellStyle().getFillForegroundColorColor(); if(cellColor==Color.GREEN) { System.out.print(0+","); } else if(cellColor==Color.YELLOW) { System.out.print(1+","); } } } System.out.println(); } 这是我的excel文件显示一个madarin字符

如何使用Apache POI输出到特定的列和工作表?

这个周末我正在教自己的Apache POI。 我最近的任务是取一个具有数值和空白单元格的列,并将值添加到空白单元格。 我想我几乎用switch语句和setCellValues完成了这么多工作,但似乎无法将内容输出回工作簿上的特定工作表和列。 下面是我的下面。 数据被拉入方法很好。 Random randomNum = new Random(); double randomD = randomNum .nextDouble(); for (Row row : sheet2) { for (Cell cell : row) { switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC: System.out.println(cell.getNumericCellValue()); break; case Cell.CELL_TYPE_BLANK: cell.setCellValue(randomD); FileOutputStream fileOut = new FileOutputStream("C:/Users/testtest/Desktop/Test/ProductTests.xls"); wb.write(fileOut); fileOut.close(); System.out.println(cell.getNumericCellValue()); break; default: System.out.println(); } } }

使用poi API读取XLSX文件不起作用

所以我得到了这个Excel文件,我想读取一些数据,我发现了似乎做我想要的Apache POI API。 尽pipe我有一点点小心。 我的Gradle同步似乎很好,但每当我尝试运行应用程序,我得到这些错误消息: Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. AGPBI: {"kind":"error","text":"trouble processing \"javax/xml/XMLConstants.class\":","sources":[{}]} AGPBI: {"kind":"error","text":"Ill-advised or mistaken usage of a core class (java.* or javax.*)","sources":[{}]} AGPBI: {"kind":"error","text":"when not building a core library.","sources":[{}]} AGPBI: {"kind":"error","text":"This is often due to inadvertently including a core library […]

如何使用Apache POI优化Excel工作簿

对于我正在开发的一个业余爱好项目,我想使用Apache POI来更新,评估和检索Excel文件中的结果。 通常情况下,只有less数几个单元格与此相关,其余单元格占用大量空间,导致打开文件时出现性能问题。 假设我有以下结构 A1含有SUMPRODUCT(B2:B10; C2:C10) 在“D”,“E”和“F”列有一些随机数字的“首先” 在多个单元中使用一些随机数据“第二个”表 现在,我想能够更新B2:B10和C2:C10并获取A1的更新值。 我不在乎其他数据。 要优化文件的大小,我想将所有其他单元格更新为null并保存该文件。 例如,在上面的例子中:从表“第一个”删除列D,E和F +删除表“第二个”。 一种方法是实现类似下面的伪代码(假设没有循环引用) Take set of cells I want to evaluate (eg, A1) as "relevantCells" For each cell in "relevantCells" Retrive all cells in the formulae and add to "relevantCells" For each cell in workbook Check if cell is in "relevantCells" if(yes) continue else […]

使用JSP将Excel数据上传到Oracle数据库

我有一个inputtypes文件的表单。 <form id="upload" action="fileUpload.jsp" method="post"> <input type="file" id="qns" name="qns" accept=".xls,.xlsx"><br><br> <input type="submit" id="uploadFile" value="Upload File"> </form> 用户应该能够浏览到一个Excel文件,并提交,我想Excel数据上传到Oracle XE数据库(我使用的是Apache POI)。 但是,在fileUpload.jsp页面中,我无法访问浏览的文件,因为它只给出文件名,而不是整个path。 fileUpload.jsp中的代码是: String filename = request.getParameter("qns"); InputStream input = new FileInputStream(filename); POIFSFileSystem fs = new POIFSFileSystem(input); 错误: java.io.FileNotFoundException:Abc.xls(系统找不到指定的文件)。 我是否需要通过servlet将file upload到服务器,然后访问它? 请帮忙。

我想在Excel中使用java打印总数与例外

我想在Excel中打印像“5”“空指针exception”“15”“ZZZZZexception”“7”“XYZexception” 我从MySQL数据库中获取所有exception。 下面的代码给出了excel文件中所有exception的输出,但不知道如何将这些exception分组? 还有一个帮助,这个代码水平地打印所有的数据。像“nullpointer exception”“ZZZZZ exception”“XYZ exception”。 你能帮助我垂直打印,并将所有这些exception与计数? 谢谢。 public class Abcd { public static void main(String[] args) { Connection conn = null; Statement stmt = null; try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("Connecting to database…"); conn = DriverManager.getConnection( "jdbc:mysql://10.9.1.1:3306/XXXXX", "Unm", "pass"); System.out.println("Creating statement…"); stmt = conn.createStatement(); ResultSet rs = stmt .executeQuery("select EXCEPTION_MESSAGE from TABLENAME where E_TYPE = […]

Apache POI&SXSSF:行数始终为0

我使用SXSSFWorkbook和SXSSFSheet对象。 我能够成功写入Excel文件: FileOutputStream fos = new FileOutputStream(fileName); wb.write(fos); fos.close(); wb.dispose(); 写入文件后,我正在加载/读取它的进一步更改。 这是问题,当我尝试获取getLastRowNum()的行数时,我总是得到0作为结果。 这是一段代码: SXSSFWorkbook wb = null; try { wb = new SXSSFWorkbook(new XSSFWorkbook(new FileInputStream(fileName))); } catch (FileNotFoundException e) {e.printStackTrace(); } catch (IOException e) {e.printStackTrace();} SXSSFSheet sheet = wb.getSheet(sheetName); System.out.println(sheet.getLastRowNum()); 结果是0! 我尝试使用迭代器创build自己的方法,但是这给了我相同的结果。 我没有任何错误消息,如果检查工作表的名称(sheet.getSheetName()),它将返回正确的名称,但不是正确的行数,尽pipeExcel文件有很多简单的行。

Excel Java – 将一行单元格值传递给ArraList

我想知道如何将整个行的单元格值存储到ArrayList中 防爆。 Table_Alphabet Col1 | Col2 | Col3 | COL4 阿尔法| Beta | 伽玛| 三angular洲 mono | poly | tera | EXA 所以,在这里我想取第一行{Alpha,Beta,Gamma,Delta}并将整行存储到ArrayList中。 我试图使用ArrayList的这个单元格值(使用Apache POI!) ArrayList<String> level1 = new ArrayList<String>(); 然后将该ArrayList存储到可以包含实际arrayList的parent_ArrayList ArrayList<ArrayList<String>> parent_list = new ArrayList<ArrayList<String>>(); 但我没有通过这个。 for(int i=0;i<noOfRows;i++){ Row row = sheet.getRow(i); for(int j=0; j<lastCell;j++){ Cell cell = row.getCell(j); switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: […]

生成excel文件的url

有一个Excel文件,我想下载在Javaparsing,但我不明白什么是我需要使用的URL。 网站在这里 ,我想获得05.1986-05.2016的NIS /美元代表汇率的Excel文件。 任何人都可以帮助我吗?