[置顶] Android下利用Apache POI 打开DOC 文档
2016-08-03 10:02
274 查看
有孩纸在做软件设计大赛的一题目,需要能查看Doc 和各种office 文档,搜索自然便看到了POI,据说POI 文档写的不好,不过其他的貌似不是太简单,就是太复杂。
操作了一下,把文件打开了。记录一下。
1. POI 项目主页:点击打开POI主页
主页上很大的几个单词: Apache POI - the Java API for Microsoft Documents
2. 下载了最新的 3.9 的 bin 和 src 。
3. 看见主页里有 component 一段,看了下,英语也不大好,大意是说什么不是所有情况下所有的包都需要被导入,(确实,操作DOC时就导入了两个包,生成后的APK竟然达到5.X M)。
也就是说,如果我要操作 DOC 文档的话 ,只需要引用两个jar就可以了:poi-scratchpad 和 poi。
4. 配置 。
新建,导入jar,还有很重要的就是就是在如下配置中勾选这两个包,否者在编译时可能没问题,运行时却会提示无法解析 啥的。
![](https://img-blog.csdn.net/20130522111329030)
5. 贴代码:
6. 贴运行效果图。
![](https://img-blog.csdn.net/20130522111413701)
![](https://img-blog.csdn.net/20130522111419216)
操作了一下,把文件打开了。记录一下。
1. POI 项目主页:点击打开POI主页
主页上很大的几个单词: Apache POI - the Java API for Microsoft Documents
2. 下载了最新的 3.9 的 bin 和 src 。
3. 看见主页里有 component 一段,看了下,英语也不大好,大意是说什么不是所有情况下所有的包都需要被导入,(确实,操作DOC时就导入了两个包,生成后的APK竟然达到5.X M)。
The Apache POI distribution consists of support for many document file formats. This support is provided in several Jar files. Not all of the Jars are needed for every format. The following tables show the relationships between POI components, Maven repository |
Component | Application type | Maven artifactId |
---|---|---|
POIFS | OLE2 Filesystem | poi |
HPSF | OLE2 Property Sets | poi |
HSSF | Excel XLS | poi |
HSLF | PowerPoint PPT | poi-scratchpad |
HWPF | Word DOC | poi-scratchpad |
HDGF | Visio VSD | poi-scratchpad |
HPBF | Publisher PUB | poi-scratchpad |
HSMF | Outlook MSG | poi-scratchpad |
XSSF | Excel XLSX | poi-ooxml |
XSLF | PowerPoint PPTX | poi-ooxml |
XWPF | Word DOCX | poi-ooxml |
OpenXML4J | OOXML | poi-ooxml-schemas, ooxml-schemas |
Maven artifactId | Prerequisites | JAR |
---|---|---|
poi | commons-logging, commons-codec, log4j | poi-version-yyyymmdd.jar |
poi-scratchpad | poi | poi-scratchpad-version-yyyymmdd.jar |
poi-ooxml | poi, poi-ooxml-schemas, dom4j | poi-ooxml-version-yyyymmdd.jar |
poi-ooxml-schemas (*) | xmlbeans, stax-api-1.0.1 | poi-ooxml-schemas-version-yyyymmdd.jar |
poi-examples (*) | poi, poi-scratchpad, poi-ooxml | poi-examples-version-yyyymmdd.jar |
ooxml-schemas | xmlbeans, stax-api-1.0.1 | ooxml-schemas-1.1.jar |
poi-ooxml requires poi-ooxml-schemas. This is a substantially smaller version of the ooxml-schemas jar (ooxml-schemas-1.1.jar for POI 3.7 or later, ooxml-scheams-1.0.jar for POI 3.5 and 3.6). The larger ooxml-schemas jar is normally only
required for development
The OOXML jars require a stax implementation. Previously we suggested "geronimo-stax-api_1.0_spec", but now "stax-api-1.0.1" is used for better compatibilty with other Apache projects. Any compliant implementation should work fine though.
4. 配置 。
新建,导入jar,还有很重要的就是就是在如下配置中勾选这两个包,否者在编译时可能没问题,运行时却会提示无法解析 啥的。
5. 贴代码:
/* * Fuction: openDocFormPath * Open a file use file path * Input: pathname * Return: A HWPFdocument object * Author: j.ghang@hotmail.com 2013.05.22 */ private HWPFDocument openDocFromPath(String pathname) { File docFile = null; InputStream fileInputS = null; HWPFDocument doc = null; docFile = new File(pathname); try { fileInputS = new FileInputStream(docFile); } catch (FileNotFoundException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } try { doc = new HWPFDocument(fileInputS); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } return doc; }
public class Doc3 extends Activity { private TextView doc_text = null; private Button btn_show = null; private String pathname = "/mnt/sdcard/test.doc"; private String content = "content"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_doc3); HWPFDocument doc = null; doc = openDocFromPath(pathname); Range r = doc.getRange(); content = r.text(); r.delete(); doc_text = new TextView(this); btn_show = new Button(this); this.btn_show = (Button)super.findViewById(R.id.btn_show); // this.doc_text = (TextView)super.findViewById(R.id.hello);// this.btn_show.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO 自动生成的方法存根 doc_text.setText(content);//doc_text.setText("hello hello!!!"); new AlertDialog.Builder(Doc3.this).setTitle("Tips").setMessage(content).show(); } }); }
6. 贴运行效果图。
相关文章推荐
- Android下利用Apache POI 打开DOC 文档
- [置顶] Android 下载并打开PDF,Doc,Dwg文档
- Android开发帮助文档Doc打开速度慢解决_Python篇
- android doc文档打开太慢?从此不会了
- Android打开doc、xlsx、ppt等office文档解决方案
- Android 下载并打开PDF,Doc,Dwg文档实例
- Android打开doc、xlsx、ppt等office文档解决方案
- Android开发帮助文档Doc打开速度慢解决_Python篇
- 打开android开发doc文档过慢的问题(万恶的墙)
- [置顶] java后台利用Apache poi 生成excel文档提供前台下载
- android 打开 ppt pptx doc docx xls xlsx pdf office 文档
- 利用Java Apache POI 生成Word文档
- [置顶]▁▂▃ 【2011-9-22日前Himi所有博文锦集-CHM文档】+【Android游戏开发系列源码】+【免费提供打包下载】▃▂▁
- Android利用Intent如何打开网页
- 解决Android离线文档打开慢的问题
- Android Eclipse关联 android API doc文档
- 如何在C#下利用RichTextBox打开一个有文字格式和图片的Word文档
- Android 利用程序实现GPS的打开或关闭
- Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用jcom转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
- 利用jsdoc-toolkit生成javascript文档