草庐IT

java - 如何使用 poi 在 java 中读取 excel(.xlsx)?

我正在尝试在java中读取excel。我有以下代码。importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.Iterator;importorg.apache.poi.ss.usermodel.Cell;importorg.apache.poi.ss.usermodel.DateUtil;importorg.apache.poi.ss.usermodel.Row;importorg.apache.poi.ss.usermodel.Sheet;imp

java - 使用 jxl 向 Excel 文件添加数据

我正在使用jxl创建一个excel文件。首先应该只包含一些格式和有关样式的信息。然后,每次有人向它添加新数据时,它都应该更新。publicclassWriteExcel{privatestaticWritableWorkbookworkbook;privatestaticWritableCellFormattimesStandard;privateStringinputFile;finalprivatestaticintFONT_SIZE=12;publicvoidsetOutputFile(StringinputFile){this.inputFile=inputFile;}priv

Java 到 Excel 2010

我有一段代码使用名为OpenXLS-6.0.6的开源库创建Excel文件。我的电脑有WindowsXPProfessional和Office2003。但是我注意到,由于我已经迁移到Windows7和Office2010,我无法再打开生成的Excel文件。我去了OpenXLS网站,确实指定了:“与Excel'97-2003(.xls)文件格式兼容”有人知道能够生成与Office2010兼容的Excel文件的库吗?我快速检查了ExcelAPI和POI,但提到它们处理Excel到Office2003版本(至少这是我的理解)。 最佳答案 有

java - 使用 JXL 读取 Excel,每行的单元格计数在行之间变化

我已经尝试找到解决方案,但没有找到与我的问题相符的解决方案。我正在使用JXL读取excel电子表格并将每一行转换为指定的对象。一行中的每个单元格对应于我正在创建的对象的一个​​属性。我的电子表格有41列,在读取375行后,每行的单元格数从41变为32。我不明白为什么。这是我循环遍历行并检索单元格的代码:w=Workbook.getWorkbook(inputWorkbook);//GetthefirstsheetSheetsheet=w.getSheet(0);//Loopoverfirst10columnandlinesfor(introw=1;row其余代码继续获取每个单元格的内容

java - 使用 Apache POI 将结果集转为 Excel (*.xlsx) 表格

我正在尝试使用ApachePoi将ResultSet写入Excel(*.xlsx)表。OfficeExcel中的无效表格对象错误然而,即使它写入Excel文件没有任何错误,当我尝试在OfficeExcel2013中打开它时,它显示错误并删除表格对象以仅提供纯数据View。这是粗略的示例代码usingthisexample:publicstaticvoidwriteExcel(ResultSetrs,intsqliteRowCount,Stringdir){System.out.println("WritingExcel(*.xlsx)File...");XSSFWorkbookwork

java.lang.OutOfMemoryError : GC overhead limit exceeded excel reader 错误

当我尝试运行下面的程序时,出现java.lang.OutOfMemoryError:GCoverheadlimitexceeded异常。该程序的主要方法访问指定目录并遍历所有包含.xlsx的文件。这工作正常,因为我在任何其他逻辑之前对其进行了测试。它调用xlsx的方法基本上将xlsx文件转换为csv并将其附加到现有文件中,也可以正常工作。但是当我把它放在for循环中时,这就是我得到这个异常的时候。我猜它在打开xlsx并将其转换为csv和打开第二个的时间后会发生冲突,也许我必须以某种方式关闭此行:FileinputFile=newFile("C:\\Users\\edennis.AD\\

Python 基于win32com客户端实现Excel操作

测试环境Python3.6.2代码实现非多线程场景下使用新建并保存EXCELimportwin32com.clientfromwin32apiimportRGBdefsave_something_to_excel(result_file_path):excel_app=win32com.client.Dispatch('Excel.Application')excel_app.Visible=False#设置进程界面是否可见False表示后台运行excel_app.DisplayAlerts=False#设置是否显示警告和消息框book=excel_app.Workbooks.Add()#添加

java - 读取大 XLS 和 XLSX 文件

我知道周围的帖子,我已经尝试了几次尝试来实现我的目标,我将在下面详细说明:我有一个.zip/.rar,包含多个xls&xlsx文件。每个excel文件包含多达数千行,大约90列(每个excel文件可以有更多或更少的列)。我创建了一个javawindowbuilder应用程序,我在其中选择了一个.zip/.rar文件并选择将这些文件解压缩到的位置并使用FileOutputStream创建它们.保存每个文件后,我正在读取文件的内容。到目前为止一切顺利。在多次尝试避免OOM(OutOfMemory)并加快速度之后,我已经达到了“最终版本”(这非常糟糕,但直到我弄清楚如何正确读取内容),我将对

java - 使用 Apache POI 读取 Excel .XLSX 时出错

我正在使用ApachePOI3.8库在Web应用程序中读取XLSX文件。以下代码在Java控制台应用程序中运行良好:InputStreaminputFS=newFileInputStream("test.xlsx");Workbookworkbook=newXSSFWorkbook(inputFS);//belowexceptionisthrownonthislineSheetsheet=workbook.getSheetAt(0);但在Web应用程序中使用时会抛出“读取错误”。下面粘贴了堆栈跟踪的相关摘录:java.io.IOException:Readerroratjava.io.

java - 添加大型查询时如何修复 SpreadSheetAddRows 函数崩溃?

EDIT3:感谢@Leigh的帮助,我已将问题缩小到查询中的日期列。使用原始代码集和POI,当SpreadSheetAddRows()尝试添加包含类似日期的单元格的非常大的查询时,页面会崩溃。我在这里做了一个错误报告:https://bugbase.adobe.com/index.cfm?event=bug&id=3432184.我有一个要添加到spreadhseet对象的查询,当查询的行数过多时(本例中为18583),该对象似乎出错。具体错误如下:java.lang.ArrayIndexOutOfBoundsException:-32735atjava.util.ArrayList.