我在使用ApachePOI时(以编程方式)从MSWord文件中获取的字符串与我在使用MSWord打开文件时看到的文本不同。使用以下代码时:FilesomeFile=newFile("some\\path\\MSWFile.doc");InputStreaminputStrm=newFileInputStream(someFile);HWPFDocumentwordDoc=newHWPFDocument(inputStrm);System.out.println(wordDoc.getText());输出是包含许多“无效”字符(是的,“框”)和许多不需要的字符串的单行,例如“FORMTE
我正在使用ApachePOI生成Excel文件(2007)。我想要的是保护工作表,但启用了一些选项。我所说的选项是指当您尝试保护Excel应用程序中的工作表时的复选框列表(在标签“允许此工作表的所有用户:”下)。具体来说,我想启用“选择锁定/解锁单元格”、“格式化列”、“排序”和“允许自动筛选”。非常感谢!:D 最佳答案 在ApachePOI3.9中你可以使用通过启用锁定功能来保护XSSF工作表。即使你可以留下几个解锁的excel对象,如下例我遗漏了解锁的excel对象(即文本框),其余的都被锁定了。privatestaticvoi
我找不到如何使用ApachePOIAPI删除列。在这一点上,我将不胜感激示例代码或帮助。 最佳答案 AlanWilliamsononthemailinglist写了asmallhelperforcolumnremovalpackageorg.alanwilliamson.openbd.plugin.spreadsheet;importorg.apache.poi.ss.usermodel.Cell;importorg.apache.poi.ss.usermodel.Row;importorg.apache.poi.ss.usermo
我想读取和写入受密码保护的Excel文件。我如何使用ApachePOIAPI执行此操作。 最佳答案 POI应该能够打开protectedxls文件(使用org.apache.poi.hssf.record.crypt)和protectedxlsx文件(使用org.apache.poi.poifs.crypt)。这些你试过吗?如果您使用的是HSSF(对于xls文件),您需要在打开文件之前设置密码。您可以通过调用以下方式执行此操作:org.apache.poi.hssf.record.crypto.Biff8EncryptionKey.
我需要使用特定格式在数字单元格中写入double值,我的意思是,生成的xls必须具有包含double值的数字单元格,例如:8,1。我正在尝试类似的东西:DecimalFormatdFormat=newDecimalFormat("##.#");dFormat.format(doubleValue);但是,由于格式化方法返回一个字符串,无论我是否将单元格创建为数字,它们始终表现为文本单元格。我在考虑两种选择:强制单元格表现为数字单元格。忘记DecimalFormat并使用Double类指定逗号作为小数点分隔符,但我不确定是否可行。有什么想法吗? 最佳答案
我想使用ApachePOI从excel表中读取所有单元格值并将其存储到一维字符串数组中。是否可以逐行从excel中读取数据并从每个单元格中提取值?请帮我解决这个问题。谢谢 最佳答案 importjava.io.FileInputStream;importjava.util.Iterator;importjava.util.Vector;importorg.apache.poi.hssf.usermodel.HSSFCell;importorg.apache.poi.hssf.usermodel.HSSFRow;importorg.a
我正在编写一个程序,需要从excel文件读取和写入,而不管格式(xls或xlsx)如何。我知道ApachePOI,但它似乎有不同的类来处理xls文件(HSSF)和xlsx(XSSF)文件。任何人都知道我可以如何实现我在这里尝试做的事情。(也欢迎使用POI以外的API的想法)。 最佳答案 很简单,用常用的SpreadSheetinterfaces就可以了你的代码看起来像这样:Workbookwb=WorkbookFactory.create(newFile("myFile.xls"));//Or.xlsxSheets=wb.getSh
我正在尝试使用最新的Apachepoi创建一个包含30列和100万条记录的大型excel2010。我正在按照此链接中的描述创建http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BigGridDemo.java.但我希望列宽与列标题文本大小相同。但是当我在使用以下代码创建excel后执行此操作时for(intx=0;x这会花费大量时间,即使堆大小为5gb,我也会出现内存不足的情况。谢谢内存 最佳答案
我必须从Excel文件中删除一个工作表。这是我的代码片段:FileInputStreamfileStream=newFileInputStream(destFile);POIFSFileSystemfsPoi=newPOIFSFileSystem(fileStream);HSSFWorkbookworkbook=newHSSFWorkbook(fsPoi);intindex=0;HSSFSheetsheet=workbook.getSheet("Setup");if(sheet!=null){index=workbook.getSheetIndex(sheet);workbook.re
我正在尝试将.xlsx文件转换为.csv,转换正在进行但数据格式不正确。请在下面找到代码并建议对代码进行更改。我在这里尝试读取一个.xlsx文件并将其写入一个csv文件,即将xlsx转换为csv但我没有以正确的格式获取.csv文件所有数据都显示在一个单一的但它必须像Excel中的行一样显示。importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.util.Iterator;importorg.apache.poi.ss.usermodel.Cell;import