Java中导入、导出Excel
2018-03-01 17:01
393 查看
Java中导入、导出Excel
一、介绍 |
二、使用Jakarta POI导入、导出Excel |
2.1 环境配置
2.1.1下载jar
官方下载:http://poi.apache.org/download.html这里可以下载到它的最新版本和文档,目前最新版本是3.7,这里使用比较稳定的3.6版。2.1.2加入jar包
将根目录下的poi-3.6-20091214.jar和Lib目录下三个通用包 commons-logging-1.1.jar junit-3.8.1.jar log4j-1.2.13.jar拷贝到项目的Lib下2.2 Jakarta POI HSSF API组件
HSSF(用于操作Excel的组件)提供给用户使用的对象在rg.apache.poi.hssf.usermodel包中,主要部分包括Excel对象,样式和格式,还有辅助操作。有以下几种对象: 常用组件:HSSFWorkbook excel的文档对象HSSFSheet excel的表单HSSFRow excel的行HSSFCell excel的格子单元HSSFFont excel字体HSSFDataFormat 日期格式HSSFHeader sheet头HSSFFooter sheet尾(只有打印的时候才能看到效果)样式:HSSFCellStyle cell样式辅助操作包括:HSSFDateUtil 日期HSSFPrintSetup 打印HSSFErrorConstants 错误信息表2.3 基本操作步骤
首先,理解一下一个Excel的文件的组织形式,一个Excel文件对应于一个workbook(HSSFWorkbook),一个workbook可以有多个sheet(HSSFSheet)组成,一个sheet是由多个row(HSSFRow)组成,一个row是由多个cell(HSSFCell)组成。基本操作步骤:1、用HSSFWorkbook打开或者创建“Excel文件对象”2、用HSSFWorkbook对象返回或者创建Sheet对象3、用Sheet对象返回行对象,用行对象得到Cell对象4、对Cell对象读写。下面来看一个动态生成Excel文件的例子:2.4 导出Excel应用实例
在2.3中我们寥寥几行代码实际上就已经就是实现了导出Excel一个简单示例,下面我们在看如何实现导出如图所示的Excel表格?![](https://images0.cnblogs.com/blog2015/708076/201503/170838550954408.png)
代码如下:(实际开发中应封装到业务层组件中,然后在控制层中调用。这里直接写在控制层组件,如Servlet的doGet/doPost方法或Struts框架的execute方法中)
2.5 样式设置
在实际应用中导出的Excel文件往往需要阅读和打印的,这就需要对输出的Excel文档进行排版和样式的设置,主要操作有合并单元格、设置单元格样式、设置字体样式等。2.5.1单元格合并
使用HSSFSheet的addMergedRegion()方法2.5.2设置单元格的行高、列宽
2.5.2单元格样式
1、创建HSSFCellStyle2.5.2设置字体样式
1、创建HSSFFont对象(调用HSSFWorkbook 的createFont方法)2.6 导入Excel应用实例
实现将已存在的Excel文件中的数据导入到系统中的基本步骤同导出十分的类似,关键在于要了解要导入Excel文件的结构,比如数据有哪些列、读取数据起始位置(有效数据从第几行几列开始)等。在实际项目中由于这些数据(Excel文件)往往来自于日常办公人员或其他系统平台产生的业务数据,因此这些Excel文件的数据格式要有统一的要求,并提供访问接口(指访问途径),这样在所需数据的系统中就可通过提供这个访问接口调用方法,从而获得数据。解决方案采用Web Service是不错的选择。这里,我们就以导入2..4所产生的excel表为例,重点掌握如何编写导入Excel代码三、使用java Excel操作Excel文件 |
● 生成Excel 2000标准格式
● 支持字体、数字、日期格式化操作
● 支持对单元格加阴影和加色彩;● 修改存在的工作表;
● 支持图像和图表● 日志记录可以定制● 更小更快更省内存应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。在线帮助文档http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/index.html在这里我们将通过一些实例,学习掌握读取、新建、更新,其中也包括常见格式的设置:字体、颜色、背景、合并单元格等操作,有这些其实已经基本足够应付大部分问题了。
3.1环境配置
3.1.1下载
下载地址 http://www.andykhan.com/jexcelapi/3.1.2 加入jar包
将jxl.jar拷贝到项目的Lib下3.2 使用Java Excel Api 导出 Excel文件
下面我们在看如何使用Java Excel实现导出Excel表格?代码如下:(实际开发中应封装到业务层组件中,然后在控制层中调用。这里直接写在控制层组件,如Servlet的doGet/doPost方法或Struts框架的execute方法中)3.3高级操作
3.3.1数据格式化
在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用即可。数据的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由 WritableFont和WritableCellFormat类来负责。例如:① WritableFont font=new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.NO_BOLD );② WritableCellFormat format1=new WritableCellFormat(font);③ Label label=new Label(0,0,”data 4 test”,format1);其中I.指定了字串格式:字体为宋体,字号16,加粗显示。WritableFont有非常丰富的构造子,供不同情况下使用,jExcelAPI的java-doc中有详细列表,这里不再列出。II. 处代码使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种属性,如上例代码所示。III. 处使用了Label类的构造子,指定了显示的位置,文本内容,字串被赋予的格式。与Label类似的Number、DateTime,区别Label表示文本数据;Number表示数值数据,可使NumberFormat格式化数据;用DateTime表示日期型数据,可应用DateFormat格式化数据。3.3.2单元格操作
Excel中很重要的一部分是对单元格的操作,比如行高、列宽、单元格合并等,所幸jExcelAPI提供了这些支持。这些操作相对比较简单,下面只介绍一下相关的API。1、 合并单元格3.4 从Excel文件读取数据表
我们就以导入3.2所产生的excel表为例,掌握如何编写导入Excel代码(该代码封装在业务层方法)3.4 更新已存在的Excel文件
将3.2所产生的excel表(temp.xls)的第一条记录(excel文件的指第三行)的班级名称改为As179,代码如下:相关文章推荐
- java导入导出excel操作(jxl)jxl.jar 包
- java实现excel的导入导出(poi详解)
- java poi excel 2003和2007导入导出
- Java基础学习总结(49)——Excel导入导出工具类
- java excel导入导出
- java导入与导出excel,兼容excel2003以及excel2007
- java Excel导入导出,基于XML的实现,easy-excel使用
- JAVA excel 导入导出
- java实现excel的导入导出(poi)
- JAVA工具类(17)--Java导入导出Excel工具类ExcelUtil
- java 导入导出Excel工具类ExcelUtil
- java导入导出excel相关
- JAVA WEB POI Excel导出导入
- java实现excel的导入导出(poi详解)
- JAVA通过poi对Excel数据在(jsp+ssh)环境下导入导出
- java项目中Excel文件的导入导出
- Java实现Excel文件导入导出(三)
- java 实现的excel数据的导入导出
- JAVA使用poi进行EXCEL模板导入导出,XSSFCell数据类型
- Java中Excel表格数据的导入和导出步骤和方法