本资源提供了使用Java导出Excel的相关配置和代码示例,主要依赖Apache POI库,包括pom.xml文件中的依赖设置以及ExcelUtil工具类的代码片段。 在Java开发中,导出Excel是一种常见的数据输出方式,通常用于报表生成、数据备份等场景。Apache POI是一个开源的Java库,能够读写Microsoft Office格式的文件,包括Excel。在这个案例中,我们需要添加两个POI相关的依赖到pom.xml文件中: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.14</version> </dependency> ``` 这两个依赖分别对应了对老版Excel(.xls)的支持和对新版本Excel(.xlsx)的支持,版本号可以根据实际需要更新。 接下来,我们来看ExcelUtil工具类的部分代码。这个工具类包含了用于处理Excel的一些基本操作: 1. 定义了一些常量,如“NO_DEFINE”表示未定义的字段,"DEFAULT_DATE_PATTERN"为默认日期格式,"DEFAULT_COLUMN_WIDTH"为默认列宽。 2. 提供了两个静态常量,excel2003L 和 excel2007U,分别表示Excel 2003及以前版本的文件扩展名和2007及以后版本的扩展名。 3. 工具类中有一个方法`getBankListByExcel`,用于从输入流中读取Excel文件并返回一个二维列表,列表中的每个元素都是一个Object列表,代表一行数据。方法首先通过`getWorkbook`方法创建Workbook对象,然后遍历所有Sheet,进一步遍历每一行(Row)和每个单元格(Cell),将数据存储到列表中。 为了完整地实现Java导出Excel的功能,还需要以下步骤: 1. 创建工作簿(Workbook)对象:使用`WorkbookFactory.create()`方法根据文件类型创建对应的Workbook对象,例如`WorkbookFactory.create(file)`或`WorkbookFactory.create(inputStream)`。 2. 创建工作表(Sheet):根据需要,通过Workbook对象的`createSheet()`方法创建Sheet。 3. 添加行(Row):在Sheet上使用`createRow(int rowIndex)`方法创建行。 4. 设置单元格(Cell):在行上使用`createCell(int columnIndex)`方法创建单元格,并通过`setCellValue()`设置单元格的值。 5. 写入数据:将创建好的单元格添加到行,行再添加到工作表。 6. 保存文件:使用`Workbook`对象的`write(OutputStream outputStream)`方法将工作簿写入输出流,从而保存到文件。 此外,对于更复杂的需求,如设置样式、合并单元格、处理日期和数字格式等,可以利用Apache POI提供的API进行定制。同时,也可以考虑使用其他的Java Excel库,如JXL或Apache POI的简化版本如SimpleExcel,以简化操作。 总结来说,这个资源提供了基于Apache POI的Java导出Excel的基本框架,开发者可以通过修改和扩展这个工具类来满足自己的特定需求。
pom.xml
<!-- Excel导出时用的 poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.14</version>
</dependency>
1、工具类——ExcelUtil
public class ExcelUtil {
public static String NO_DEFINE = "no_define";//未定义的字段
public static String DEFAULT_DATE_PATTERN="yyyy-MM-dd";//默认日期格式
public static int DEFAULT_COLOUMN_WIDTH = 17;
private final static String excel2003L =".xls"; //2003- 版本的excel
private final static String excel2007U =".xlsx"; //2007+ 版本的excel
/**
* Excel导入
public static List<List<Object>> getBankListByExcel(InputStream in, String fileName) throws Exception{
List<List<Object>> list = null;
//创建Excel工作薄
Workbook work = getWorkbook(in,fileName);
if(null == work){
throw new Exception("创建Excel工作薄为空!");
}
Sheet sheet = null;
Row row = null;
Cell cell = null;
list = new ArrayList<List<Object>>();
//遍历Excel中所有的sheet
for (int i = 0; i < work.getNumberOfSheets(); i++) {
sheet = work.getSheetAt(i);
if(sheet==null){continue;}
//遍历当前sheet中的所有行
//包涵头部,所以要小于等于最后一列数,这里也可以在初始值加上头部行数,以便跳过头部
for (int j = sheet.getFirstRowNum(); j <= sheet.getLastRowNum(); j++) {
//读取一行
row = sheet.getRow(j);
//去掉空行和表头
if(row==null||row.getFirstCellNum()==j){continue;}
//遍历所有的列
List<Object> li = new ArrayList<Object>();
for (int y = row.getFirstCellNum(); y < row.getLastCellNum(); y++) {
cell = row.getCell(y);
li.add(getCellValue(cell));
}
list.add(li);
剩余15页未读,继续阅读
- 粉丝: 9
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展