Tag: apache poi

POI 3.2图像高度/宽度控制

使用POI版本3.2 问题:无法将图像调整为原始高度和宽度。 我可以将图像添加到excel文件中。 添加图像后我调用picture.resize(); 方法。 稍后我通过调用sheet.setColumnWidth(columnindex,columnwidth)来调整excel文件的列的大小,图像会丢失其原始高度/宽度。 请帮忙。

使用Apache POI进行低内存写入/读取

我正在尝试编写一个非常大的XLSX文件(4M +单元),而且我遇到了一些内存问题。 我不能使用SXSSF,因为我还需要读取模板中的现有单元格。 有什么办法可以减少内存占用吗? 也许结合流媒体阅读和流媒体写作?

石英多次执行后,Java Excel POI停止

我想对此有一些见解。 我有一个程序,可以从数据库读取和写入excel文件。 它的执行基于使用Quartz api的计时器,并在每周的每周二触发。 问题是,当我通过安排它每小时执行一次作业来测试它时,程序在编写excel文件的过程中几次执行后突然停止。 这是我写的excel代码。 try { FileInputStream file = new FileInputStream(excelFile); POIFSFileSystem myFileSystem = new POIFSFileSystem(file); HSSFWorkbook workbook = new HSSFWorkbook(myFileSystem); HSSFSheet worksheet = workbook.getSheetAt(0); this.cellStyle00 = workbook.createCellStyle(); HSSFDataFormat df = workbook.createDataFormat(); this.cellStyle00.setDataFormat(df.getFormat(“00”)); for(int i = 0;i<Access.size();i++){ AccessorMethods SetGet = (AccessorMethods) InstlibAccessor.get(i); HSSFRow row = worksheet.createRow(worksheet.getPhysicalNumberOfRows()); HSSFCell cell = row.createCell(0); cell.setCellValue(new Double(SetGet.getOne())); cell.setCellStyle(cellStyle00); […]

如何使用POI读取word文档中每个单词的字体大小?

我试图找出word文档中是否存在字体为2的任何内容。但是,我无法做到这一点。 首先,我试图读取样本word文档中每个单词的字体,该单词只有一行和7个单词。 我没有得到正确的结果。 这是我的代码: HWPFDocument doc = new HWPFDocument (fileStream); WordExtractor we = new WordExtractor(doc); Range range = doc.getRange() String[] paragraphs = we.getParagraphText(); for (int i = 0; i < paragraphs.length; i++) { Paragraph pr = range.getParagraph(i); int k = 0 while (true) { CharacterRun run = pr.getCharacterRun(k++); System.out.println("Color: " + run.getColor()); System.out.println("Font: " + […]

apache poi excel大自动列宽

我尝试使用Apache poi最新创建一个包含30列和100万条记录的大型excel 2010。 我正在创建此链接中的描述http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BigGridDemo.java 。 但我希望列宽与列标题文本大小相同。 但是在使用以下代码创建excel之后我正在执行此操作 for (int x = 0; x < sheet.getRow(0).getPhysicalNumberOfCells(); x++) { sheet.setColumnWidth(x, 20*256); } 它占用了大量的时间,即使有5GB的堆大小,我也会失去记忆。 谢谢 内存

MalformedByteSequenceException:2字节UTF-8序列的无效字节2

我有一个包含阿拉伯字符的xml文件。当我尝试解析文件时,会出现exception,MalformedByteSequenceException:2字节UTF-8序列的无效字节2。我使用POI DOM来解析文档。 日志是, 2012-03-19 11:30:00,433 [ERROR] (com.infomindz.remitglobe.bll.remittance.BlackListBean) – Error com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence. at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source) at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipChar(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) at javax.xml.parsers.DocumentBuilder.parse(Unknown […]

SXSSFWorkbook上的AutosizeColumns

是否可以在流式SXSSFWorkbook上使用autoSizeColumns? 我实现了导出function,以将对象列表导出为ex​​cel。 起初我使用了XSSFWorkbook(不是流式传输),在创建了所有单元格后,我自动化了所有列,产生了一个很好的excel文件。 对于性能问题,我们希望将工作簿更改为流式版本,但这会在org.apache.poi.ss.util.SheetUtil.getCellWidth中生成NullPointer。 是否可以为SXSSFWorkbook调用autoSizeColumns? 我使用的是poi-ooxml 3.9,但我在3.8中遇到了同样的问题。

Apache-POI:无法写入现有工作簿

我正在开发一个项目,该项目需要读取Excel工作簿,调用必要的Web服务,然后从Web服务获取响应并将该信息输入到已读取的同一Excel工作簿中。 这是我在尝试写入Excel工作簿时看到的错误: Exception in thread “main” org.apache.poi.POIXMLException: java.io.IOException: Can’t obtain the input stream from /docProps/app.xml at org.apache.poi.POIXMLDocument.getProperties(POIXMLDocument.java:141) at org.apache.poi.POIXMLDocument.write(POIXMLDocument.java:177) at ext.ExcelProcessor.main(ExcelProcessor.java:197) Caused by: java.io.IOException: Can’t obtain the input stream from /docProps/app.xml at org.apache.poi.openxml4j.opc.PackagePart.getInputStream(PackagePart.java:500) at org.apache.poi.POIXMLProperties.(POIXMLProperties.java:75) at org.apache.poi.POIXMLDocument.getProperties(POIXMLDocument.java:139) … 2 more 这是我打开文件/阅读的代码: pkg = OPCPackage.open(xslFile); theWorkbook = new XSSFWorkbook(pkg); 在此之后,我读取每一行并提取每个单元格值。 完成此操作后,我将在Success和Result Message的标题下创建单元格,然后执行以下操作: String sessionData = sessionKey[1]; […]

如何使用apache POI和java将一个工作簿工作表复制到另一个工作簿表

我有一个excel文件与单张(抽象模型)。 现在我想将工作表复制到另一个现有工作簿。 我怎样才能做到这一点?

如何在Java中为word文档(.doc或.docx)设置背景颜色(页面颜色)?

通过像http://poi.apache.org这样的库,我们可以用任何文本颜色创建word文档 ,但是对于文本的背景或突出显示,我没有找到任何解决方案。 手动方式的单词页面颜色!: https://support.office.com/en-us/article/Change-the-background-or-color-of-a-document-6ce0b23e-b833-4421-b8c3-b3d637e62524 这是我通过poi.apache创建word文档的主要代码 // Blank Document @SuppressWarnings(“resource”) XWPFDocument document = new XWPFDocument(); // Write the Document in file system FileOutputStream out = new FileOutputStream(new File(file_address)); // create Paragraph XWPFParagraph paragraph = document.createParagraph(); paragraph.setAlignment(ParagraphAlignment.RIGHT); XWPFRun run = paragraph.createRun(); run.setFontFamily(font_name); run.setFontSize(font_size); // This only set text color not background! run.setColor(hex_color); for (String s : text_array) […]