Wps二次开发——POI入门教程 一、POI的介绍 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对办公Office格式档案读和写的功能。以下是POI的几个重要组成部分,以及各组件的功能概述。 HSSF:WPS表格和Excel 97-2003(.xls),基于BIFF8格式的JAVA接口。 XSSF:WPS表格和Excel 2007+(.xlsx),基于OOXML格式的JAVA接口。 HWPF:WPS文字和Word 97-2003(.doc),基于BIFF8格式的JAVA接口。 XWPF:WPS文字和Word 2007+(.docx),基于OOXML格式的JAVA接口。 HSLF:提供读写Microsoft PowerPoint格式档案的功能。 HDGF:提供读Microsoft Visio格式档案的功能。 HPBF:提供读Microsoft Publisher格式档案的功能。 wpsword表格样式在哪里HSMF:提供读Microsoft Outlook格式档案的功能。 下面我们对最常用的HSSF和HWPF进行入门基础的介绍讲解。
二、环境搭建设置 1)需要的环境搭建 需要用到的工具有Eclipse3.7和JDK1.6 2)需要的类库导入 打开Eclipse 依次点击File->New->Java Project 输入项目名称,本例中设置为POIExample 2011-9-2 10:18 上传 下载附件 (54.02 KB)
单击完成
在项目上点击右键->New->Folder
输入文件夹名称MyPoi
我们现在需要添加Poi-3.7包
在项目上点击右键->Porpertiex 在弹出框左边选择中->Java Build Path,右边页面选中Libraries,点开选择增加包的路径文件Add
2011-9-2 10:18 上传 下载附件 (55.29 KB) 将下载的POI-3.7包加载上去
POI对文档的创建、写入、读取 1)创建WPS表格、文字 (样例:CreateETandWPS.java) 首先创建名为POIExample的项目,从中在F盘根目录下创建名为ETExample的WPS表格文件和名为WPSExample的WPS文字文件。 代码如下: 1. FileOutputStream ETfile; 2. FileOutputStream WPSfile; 3. ETfile = new FileOutputStream("F:/"); 4. WPSfile= new FileOutputStream("F:/WPSExample.doc"); 5. ETfile.close(); 6. WPSfile.close(); 复制代码 2)在创建的文档中写入内容(样例:WriteETandWPS.java) 在生成的文件中插入文字内容,在ETExample表格第一个表中B2单元格中插入“我是表格内容”的文字。在WPSExample文档文件中插入“我是文字内容”的文字。最后保存退出。 代码如下: 1. ////////////////WPS表格写入/////////////////////// 2. HSSFWorkbook wb = new HSSFWorkbook(); //创建一个空白的工作簿对象 3. HSSFSheet st = wb.createSheet("表格工作表第1页"); //基于上面的工作簿创建属于此工作簿的工作表名为"表格工作表第1页" 4. HSSFRow row = st.createRow(0); //创建属于上面工作表的第1行,参数从0开始可以是0~65535之间的任何一个 5. HSSFCell cell = ateCell((short)1); //创建属于上面行的单元格,参数从0开始可以是0~255之间的任何一个, 6. cell.setCellType(HSSFCell.CELL_TYPE_STRING); //设置此单元格的格式为文本,此句可以省略,WPS表格会自动识别。 7. cell.setCellValue(new HSSFRichTextString("我是表格内容")); //直接在上面定义好的单元格输入内容("我是表格内容"), 8. FileOutputStream ETFile; 9. ETFile = new FileOutputStream("F:/"); //创建一个文件输出流,指定到F盘根目录下的空白的表格文件 10. wb.write(ETFile); //把工作表内容写到流里 11. ETFile.close(); //记得手动关闭流,POI不关闭用户打开的流。 12. ////////////////WPS文字写入/////////////////////// 13. String str="我是文字内容"; //需要输入WPS文字里的内容 14. writeWPS("F:/WPSExample.doc",str); //调用写入的方法 15. /////////////////writeWPS方法////////////////// 16. byte b[] = Bytes("GBK"); //字符集的类型为"GBK" 17. ByteArrayInputStream bais = new ByteArrayInputStream(b); //创建一个字符数组输入对象 18. POIFSFileSystem fs = new POIFSFileSystem(); //创建POI文件集对象 19. DirectoryEntry directory = fs.getRoot(); //获取文件录入节点 20. DocumentEntry de = ateDocument("WordDocument", bais); 21. //创建文件对象 22. FileOutputStream ostream = new FileOutputStream(path); 23. //设置输出流对象,参数为地址 24. fs.writeFilesystem(ostream); //将文件内容写入流,参数为输出流 25. bais.close(); //关闭流对象 26. ostream.close(); 复制代码
[ 本帖最后由 LoverOcean 于 2011-9-2 10:18 编辑 ]
|
发表评论