草庐IT

Excel读写

全部标签

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 - 使用 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 读写 unicode/UTF-8 文件名(不是内容)

我有一些带有日语字符的目录/文件。如果我尝试读取包含(例如)一个ku的文件名(不是内容),我会收到一个包含�的字符串。如果我尝试创建一个包含ku的文件/目录,则会出现一个包含?的文件​​/目录。例如:我列出了文件。Filefile=newFile(".");String[]filesAndDirs=file.list();filesAndDirs数组现在包含特殊字符的目录。该字符串现在仅包含����。它接缝没有什么可解码的,因为对于文件名中的每个字符,即使对于不同的字符,agetbytes也只显示“-17-65-67”。我使用MacOS10.8.2Java7_10和Netbeans。有

java - 将日期和时间读写到 CSV 文件中

我需要能够将当前日期(年、月、日)和时间(时、分、秒)存储到CSV文件中,然后再读取它们。用于创建日期我试过使用Datedate=newDate();构造当前日期,但是当我date.toString();它给了我一个非常优雅的字符串来描述日期和时间,它似乎无法存储到CSV文件中并在以后读取。那么如何以一种可以在之后读取的格式写入CSV文件呢?此外,阅读CSV文件,我发现了类似的建议SimpleDateFormatdf=newSimpleDateFormat("dd/MM/yyyyHH:mm:ss");Dated=df.parse("17/02/201501:18:15");根据之前输出

深入解析C#中的第三方库NPOI:Excel和Word文件处理的利器

一、引言在.NET开发中,操作Office文档(特别是Excel和Word)是一项常见的需求。然而,在服务器端或无MicrosoftOffice环境的场景下,直接使用OfficeInterop可能会面临挑战。为了解决这个问题,开源库NPOI应运而生,它提供了无需安装Office即可创建、读取和修改Excel(.xls,.xlsx)和Word(.doc)文件的能力。二、NPOI简介NPOI是一个基于.NET的API,用于读写微软的OLE2CompoundDocumentformats,如MicrosoftOfficeExcel和Word。它是ApachePOI项目的.NET移植版本,允许开发者在

C#操作Excel文件三种方式详解

1.OleDb方式:使用.NETFramework内置的System.Data.OleDb命名空间中的类,可以将Excel文件当作数据库来读取数据。这种方式适用于较旧版本的Excel文件(.xls格式,即Excel2003及更早版本)。usingSystem.Data.OleDb;//创建连接字符串stringconnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=path_to_your_file.xls;ExtendedProperties='Excel8.0;HDR=YES;'";//创建OleDbConnection对

java - 使用 Apache POI 从 excel 文件中获取图像及其位置

是否可以使用ApachePOI从xls电子表格中提取图像信息?在我的一个项目中,我需要从.xls文件中读取一些图像。我可以一起阅读所有图像,但如何获得图像位置(如列和行号或坐标)?否则我可以获得图像位置,但我不知道关于找到的位置的特定图像的信息,如图片名称或扩展名或其他信息。我如何也可以获得图像和位置?在这里readallimages...在这里getimagespositions... 最佳答案 看这里:http://poi.apache.org/components/spreadsheet/quick-guide.html#Im

java - 使用 Apache POI 和 Java 创建 excel (.xlsx) 文件后文件损坏

我已经使用ApachePOIAPI成功地使用Java创建了.xlsx格式的工作簿/Excel。我的代码如下,在D盘中创建了一个名为“RiponAlWasim.xlsx”的文件:Workbookwb=newXSSFWorkbook();FileOutputStreamfileOut=newFileOutputStream("D:\\RiponAlWasim.xlsx");wb.write(fileOut);fileOut.close();wb.close();当我尝试打开“RiponAlWasim.xlsx”时,显示文件已损坏。怎么了? 最佳答案

java - Apache POI : How to insert column in Excel file

我正在使用POI为大学项目处理Excel文件中的数据。我在现有Excel中插入新列时遇到问题。我试着用Cellc=createCell(intcolumn);c.setCellValue("someValue");但似乎如果列已经存在,它会替换现有数据。我需要做的是在插入新列时将所有其他列向右移动一列。我在互联网上搜索过,但找不到解决方案。有没有一种方法可以做到这一点,而无需迭代行中的所有单元格并将它们一个接一个地移动? 最佳答案 据我所知,POI不直接支持此功能。您可以创建工作表的副本并将数据复制过来,为新列留出空间。您还需要考虑