最近做了一些Excel的导入导出的东西,在从数据库导出到Excel时,参考的这个博客,挺实用的,所以转帖过来效果:使用时先把poi包导入工程的path,注意只需要导入poi包即可,下载后有三个jar包核心代码。
POI 帮助文档
基于poi的excel读入和写出_代码直接可用_需要下载poi.jar包
第一部分 Word文档自动追加表格内容;第二部分 java jacob 操作word 文档,进行写操作,如生成表格,添加 图片
举个例子,熟悉一下POI的各种API而已,真正要实现这样一个表格的时候,例如项目需要制作报表等等,通常的做法都是事先把格式一切的东西都手动制作好(这个做好了的文件在实际的项目里我们称之为“数据模板”,简称“模板”),然后在Java应用中适当的时机把这个文件读进来修改,最后再另存到指定的位置或者传递给下一个处理者(例如以流的方式送给Servlet等等),这样其实POI具体做的事情就是向模板里写业务的数据,还是很方便快捷的。
在 Open XML SDK 中,SpreadsheetDocument类表示 Excel 文档包。若要打开并使用 Excel 文档,要基于文档创建 SpreadsheetDocument 类的一个实例。调用 Open 方法之一。本示例代码使用带有需要两个参数的签名的 Open(String, Boolean) 方法。第一个参数采用表示要打开的文档的完整路径字符串。第二个参数是 true 或 false,如果此参数为true,表示是否要打开文件以进行编辑。如果此参数为 false,则不会保存对该文档所做的任何更改。
使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵Excel文件并不是一件容易的事。在Web应用日益盛行的今天,通过Web来操作Excel文件的需求越来越强烈,目前较为流行的操作是在JSP或Servlet 中创建一个CSV (comma separated values)文件,并将这个文件以MIME,text/csv类型返回给浏览器,接着浏览器调用Excel并且显示CSV文件。这样只是说可以访问到Excel文件,但是还不能真正的操纵Excel文件,本文将向大家介绍一个开放源码项目,Java Excel API,使用它大家就可以方便地操纵Excel文件了。
最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表
在电信领域,生成报表是日常工作中必不可少的一项任务。提供报表的方式也是多种多样,例如使用BO来生成报表,使用eclipse的插件来做报表。但是有些时候,需要我们自已来开发报表。这就是要借助于报表操作的API来完成。可以通过API直接将数据读写如报表文件,也可以根据模板来生成报表。<br> 根据这个需要,我研究了一下操作报表的两种API,一种Apache的开源项目POI,POI是针对微软OFFICE文档的一种JAVA API,使用该API可以实现对微软的OFFICE文档的各种操作。其中使用最广泛的是对MS word,excel,PPT的操作。<br> jXLS是一个专门针对excel的API,并不支持word或者是PPT。它是在POI的基础上进一步的包装,是一个更加优秀的开源项目。当前最新的版本是jXLS 1.0。jXLS1.0新增的特性是对excel 2007的支持。
Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。 Apache POI 是创建和维护操作各种符合Office Open XML(OOXML)标准和微软的OLE 2复合文档格式(OLE2)的Java API。用它可以使用Java读取和创建,修改MS Excel文件.而且,还可以使用Java读取和创建MS Word和MSPowerPoint文件。Apache POI 提供Java操作Excel解决方案(适用于Excel97-2008)。
POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。 二.HSSF概况 HSSF 是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。 也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。 HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。
Excel的生成方式其实很简单,主要包括几个大的类首先最重要的几个类就是WritableWorkbook,这个类代表的就是一个Excel文档,使用过Excel文档的都应该知道Excel文档的组成,都是由一个一个的sheet组成的,那么这个sheet对应的java类就是WritableSheet。实际上就是这两个大类的组成,其他的一些小的类都是为了修饰WritableSheet里的内容的。这些修饰类中用的最多的就是WritableFont,WritableCellFormat,以及Label类,这三个类构成了修WritableSheet的核心。
java jacob操作word文档,进行写操作,如生成表格,添加图片。
在Java处理Excel这个领域已经有很多开源的解决方案,目前在这方面做得比较出色的有ApachePOI和JExcelApi(jxl)。<br> ApachePOI是Apache基金组织Jakarta项目的子项目。POI包括一系列的API,可以操作多种格式的Microsoft Office文件,通过这些API可以在Java中很方便地读写Excel、Word等文件。POI是比较完整的Java Excel和Java Word解决方案。其子项目包括:POIFS、HSSF、HDF、HPSF。其中HSSF是Java到Microsoft Excel97/2002文件的接口,支持读写功能。 JExcelApi也是一个Java操作Excel的接口。它也是一个开源的解决方案,虽然在名气方面比不上大名鼎鼎的ApachePOI,但是在操作Excel的功能上丝毫不比POI逊色,而且在某些方面做得比POI更出色,例如生成Excel文件时给合并单元格加边框的问题,在POI中这很难实现的,POI的官方仅仅承诺在以后的版本中会添加这个功能。然而在JExceApi中通过一个简单的设置语句就可以实现。而且总体上JExcelApi使用都是比较简单方便的。
POI简介JakartaPOI是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的JavaAPI目前比较成熟的是HSSF接口,处理MSExcel(97-2003对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。HSSF概况HSSF是HorribleSpreadSheetFormat的缩写,通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。
Jacob是Java-COMBridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。DLL动态链接库的生成需要windows平台的支持。Apache POI包括一系列的API,它们可以操作基于MicroSoft OLE2 Compound Document Format的各种格式文件,可以通过这些API在Java中读写Excel、Word等文件。
C#读excel写入数据库
我们介绍了POI项目的基本概念,了解了如何用POI来读写OLE 2复合文档结构,并给出了两个简单的例子:用POI来读写Excel文件的Workbook流。本文继续前文的话题,阐述如何用POI来读取/写入完整的 Excel文件。
我们操纵Word需要通过类型库中的MFC类。而这些类,应该都是基于一个叫COleDispatchDriver的类。至少我所了解到的都是这样。
一个jacob操作Word的例子,其他操作excel,pdf的sample里都有。