Java 操作 Excel 之 Poi

导入包

<<poi-3.9-20121203.jar>>

创建新工作簿

创建新 Sheet

创建单元格

创建一个时间格式的单元格

   

   

处理不同内容格式的单元格

遍历工作簿的行和列并获取单元格内容

   

文本提取

单元格对齐方式

   

/**

* 创建一个单元格并为其设定指定的对其方式

* @param wb 工作簿

* @param row 行

* @param column 列

* @param halign 水平方向对其方式

* @param valign 垂直方向对其方式

*/

private static void createCell(Workbook wb,Row row,short column,short halign,short valign){

Cell cell=row.createCell(column); // 创建单元格

cell.setCellValue(new HSSFRichTextString("Align It")); // 设置值

CellStyle cellStyle=wb.createCellStyle(); // 创建单元格样式

cellStyle.setAlignment(halign); // 设置单元格水平方向对其方式

cellStyle.setVerticalAlignment(valign); // 设置单元格垂直方向对其方式

cell.setCellStyle(cellStyle); // 设置单元格样式

}

单元格边框处理

单元格填充色和颜色操作

单元格合并

字体处理

读取和重写工作簿

读取单元格中的信息,在修改单元格的样式(使用模板设置单元格样式导出)

单元格中使用换行(单元格中换行使用Alt+Enter

修改单元格的样式可以换行

创建用户自定义数据格式

   

自定义 easyui 图标样式

编辑icon.css

设置自己的icon

将自己的icon图标添加到easyui的icon目录中使用

.icon-mini-add{

background:url('icons/mini_add.png') no-repeat center center;

}

.icon-mini-edit{

background:url('icons/mini_edit.png') no-repeat center center;

}

.icon-mini-refresh{

background:url('icons/mini_refresh.png') no-repeat center center;

}

.icon-export{

background:url('icons/export.png') no-repeat center center;

}

利用 poi 实现数据的批量导出

<<ResponseUtil.java>>

   

<<JsonUtil.java>>

   

<<ExcelUtil.java>>

   

<<DbUtil.java>>

   

<<StringUtil.java>>

设置html请求

   

dao层

查询数据库中药导出的数据,返回list集合

Action/Controller层

调用ExcelUtil工具类

ExcelUtil工具类

将返回的list集合输出到工作簿中,headers为定义的每个object中包含的不同字段

配置web.xml

将请求全部拦截,

配置struts.xml

使用UserAction处理请求

利用 poi 使用模板实现数据的批量导出(工作中一般引用模板

原理:先创建一个excel模板,使用poi将模板读取到内存从,直接加数据塞入模板中,不用单独写模板

项目目录结构

导入模板到template包

模板设置的第一行的列头信息

html请求

action/Controller

ExcelUtil类的的方法

   

<<PoiDemo3.rar>>

利用 poi 使用模板实现数据的批量导入数据

下载模板后,添加数据后,导入数据(类似批量导入)

html请求

设置上传数据请求

设置下载模板请求

使用模板导入数据请求

上传请求

前台上传后的交互操作

数据上传成功解析成功后的前台操作

ExcelUtil工具类

action/Controller

下载模板

上传数据

获取上传的文件

上传文件数据解析

   

原文地址:https://www.cnblogs.com/ChengR/p/13065126.html