-
POI处理excel后,原来的内置内嵌对象(embed object)就打不开了 -- 在POI官方没找到方案。5
POI处理excel后,原来的内置内嵌对象(embed object)就打不开了 -- 在POI官方没找到方案。用excel打开内嵌对象时,报错 "cannot start the source application for this object".
I've tried both poi3.6 poi3.7 and poi3.8. it's NOT working.
简单的代码段:
//read the temaplate excel with embed object
String filePathIn = "templdate.xls";
fs = new POIFSFileSystem(new FileInputStream(filePathIn));
HSSFWorkbook wb = new HSSFWorkbook(fs);
//write the templdate excel into output file
String filePathOut="out.xls";
FileOutputStream fileOut = new FileOutputStream(filePathOut);
wb.write(fileOut);
fileOut.close();
大家看看,谢谢2012年8月22日 16:06
3个答案 按时间排序 按投票排序
-
poi的操作实例可参考以下官方文档
http://poi.apache.org/spreadsheet/quick-guide.html
Embedded Objects部分在最后面2012年8月23日 09:50
-
通过下面代码获取excel中的内嵌对象
for (HSSFObjectData obj : wb.getAllEmbeddedObjects()) { //the OLE2 Class Name of the object String oleName = obj.getOLE2ClassName(); if (oleName.equals("Worksheet")) { DirectoryNode dn = (DirectoryNode) obj.getDirectory(); HSSFWorkbook embeddedWorkbook = new HSSFWorkbook(dn, fs, false); //System.out.println(entry.getName() + ": " + embeddedWorkbook.getNumberOfSheets()); } else if (oleName.equals("Document")) { DirectoryNode dn = (DirectoryNode) obj.getDirectory(); HWPFDocument embeddedWordDocument = new HWPFDocument(dn, fs); //System.out.println(entry.getName() + ": " + embeddedWordDocument.getRange().text()); } else if (oleName.equals("Presentation")) { DirectoryNode dn = (DirectoryNode) obj.getDirectory(); SlideShow embeddedPowerPointDocument = new SlideShow(new HSLFSlideShow(dn, fs)); //System.out.println(entry.getName() + ": " + embeddedPowerPointDocument.getSlides().length); } else { if(obj.hasDirectoryEntry()) { // The DirectoryEntry is a DocumentNode. Examine its entries to find out what it is DirectoryNode dn = (DirectoryNode) obj.getDirectory(); for (Iterator entries = dn.getEntries(); entries.hasNext();) { Entry entry = (Entry) entries.next(); //System.out.println(oleName + "." + entry.getName()); } } else { // There is no DirectoryEntry // Recover the object's data from the HSSFObjectData instance. byte[] objectData = obj.getObjectData(); } } }
2012年8月23日 09:46
相关推荐
### POI Excel知识点详解 #### 一、Jakarta POI简介与Apache POI的作用 Jakarta POI 是 Apache POI 的早期项目名称,它提供了一组 API 来处理 Microsoft Office 文件格式,特别是针对 Excel(`.xls` 和 `.xlsx`)...
Apache POI 是一个开源库,专门用于处理Microsoft Office格式的文件,包括Excel。在Java开发中,Apache POI 提供了API,使我们能够创建、修改和读取Excel文档。当我们需要导出Excel并设置打印参数时,Apache POI ...
Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,尤其是Excel。在这个场景中,我们关注的是如何使用POI来创建、读取和操作Excel文档。在Web项目中,这种功能通常用于数据导入导出,报表生成...
标题中的"poi全家桶ooxml-schemas/poi/poi-examples/poi-ooxml/poi-ooxml-schemas/poi-scratchpad"提及的是Apache POI项目中的多个关键组件和目录结构。Apache POI是一个开源的Java库,专门用于读写Microsoft Office...
要使用 Java POI 实现 Excel 导出,需要首先创建一个 HSSFWorkbook 或 XSSFWorkbook 对象,然后使用该对象创建一个工作表。下面是一个简单的示例: ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; ...
总结起来,Apache POI为Java开发者提供了一种强大且灵活的方式来处理Excel文件,无论是通过Servlet从服务器生成文件,还是在本地通过main方法创建文件。理解如何使用POI库可以帮助你更好地集成Excel功能到你的Java...
7. **异常处理**:在处理Excel文件时,可能出现文件不存在、格式不正确、内存溢出等问题,需要适当地捕获并处理异常。 通过以上知识点的学习和实践,你将能够熟练地利用Java POI进行Excel数据的处理,无论是数据...
- **兼容性问题**:虽然Apache POI支持多种Excel版本,但在实际使用过程中可能会遇到一些兼容性问题,特别是在处理某些特殊格式或功能时。因此,在正式部署前进行全面的测试是非常重要的。 - **性能优化**:当处理...
### POI处理 Excel 2007:详细解析与示例代码分析 #### 一、概述 Apache POI 是一个用于读写 Microsoft Office 格式文件的 Java API,包括 Excel、Word 和 PowerPoint 等。POI 提供了对 `.xls`(Excel 97-2003)和...
`poi-scratchpad-5.2.1.jar`:这部分包含了一些实验性的或不稳定的API,通常用于测试新特性或非标准的Excel格式。 `commons-compress-1.21.jar`:Apache Commons Compress库提供了多种压缩算法,POI使用它来处理...
标题“poi excel转换成bean”涉及到的关键技术是使用Apache POI从Excel文件中读取数据并将其映射到Java Bean对象中。这个过程在处理大量结构化数据时特别有用,例如导入数据库或进行数据分析。 首先,我们需要理解...
1. **导入所需库**:在Java项目中,你需要将POI-3.9.jar添加到类路径中,这样就可以使用Apache POI提供的类和方法。 2. **创建Workbook对象**:Workbook是Excel文件的抽象表示。对于XLS文件,你可以创建...
- 在处理大量图片时,考虑内存管理,因为POI会将整个工作簿加载到内存中。 以上就是使用Apache POI向Excel中插入图片的详细过程。实践中,你可以根据具体需求进行调整,例如动态插入多张图片或者在循环中批量处理。...
- 在处理Excel文件时,需要捕获可能抛出的IOException和其他特定于POI的异常,如InvalidFormatException。 11. **兼容性**: - 虽然3.9版本较旧,但依然可以处理大部分Excel文件。然而,对于更复杂的功能或新特性...
在IT行业中,Apache POI是一个广泛使用的开源库,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,...
Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在本文中,我们将深入探讨如何使用POI进行Excel的读写操作,并进行总结。 1. POI基本概念 Apache POI 提供了...
在本示例中,我们将深入探讨如何利用POI库来生成Excel中的图表曲线,这对于数据可视化和报告生成非常有用。 1. **Apache POI介绍** Apache POI是一个开源项目,提供了API来处理Microsoft Office格式的文件。在Java...
在Java编程领域,Apache POI是一个非常流行的库,它允许开发者读取、写入和修改Microsoft Office格式的文件,特别是Excel工作簿(.xls或.xlsx)。在这个“POI导出Excel表格”的实例中,我们将深入探讨如何利用Apache...
7. **poi-scratchpad**: 这个模块包含了一些实验性的和不稳定的API,开发者可以在这里找到一些尚未稳定但可能有用的特性。 使用这些库,你可以实现以下功能: - 创建新的Excel文件。 - 读取现有Excel文件的数据。 -...
Apache POI是一个流行的开源库,主要用于处理Microsoft Office格式的文件,包括Excel(XLS和XLSX)。在Java开发环境中,POI为开发者提供了一种高效且灵活的方式来读取、写入以及修改Excel电子表格。在本文中,我们将...