Java操作Excel的Demo

POI是apache组织提供的一种可以操作微软格式文件的一种纯Java的Api,这是一种开源的解决方案,通过使用POI,我们可以很容易的操作Excel或者是Word文档。目前最新的版本是3.9,GA版本为3.0。可以下载poi-bin-3.0-FINAL-20070503.tar.gz文档,打开文档可以看到如下几个文件,其中最适合我们研究的就是src文件夹下面的examples以及相关的帮助说明文档。

在jsp文件夹的下面有一个HSSFExample.jsp是一个提供上传并且解析Excel的jsp页面,我们将其修改并且完善一下,就可以用到自己的web项目当中。在src\examples\src\org\apache\poi\hssf\usermodel\examples\文件夹的下面,有如下几个例子,这些都是研究如何使用POI的HSSF来操作Excel极好的DEMO。

Alignment.java
BigExample.java
Borders.java
CellComments.java
CellTypes.java
CreateCells.java
CreateDateCells.java
EventExample.java
FrillsAndFills.java
HyperlinkFormula.java
MergedCells.java
NewLinesInCells.java
NewSheet.java
NewWorkbook.java
OfficeDrawing.java
OfficeDrawingWithGraphics.java
Outlines.java
ReadWriteWorkbook.java
RepeatingRowsAndColumns.java
SplitAndFreezePanes.java
WorkingWithFonts.java
ZoomSheet.java

在这些文件当中,每一个都有一个main函数,我们将其导入Eclipse当中,然后将相应jar包导入就可以运行上面的例子,研究代码,从而能够支持我们更好的做到在java项目中操作Excel。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个Java Excel Demo的示例代码,使用了阿里巴巴的EasyExcel库来实现Excel的导入导出功能。这个示例代码中包含了Excel工具类的实现,可以方便地在项目中使用。 ```java import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelReader; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.context.AnalysisContext;import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.metadata.Sheet; import com.alibaba.excel.metadata.Table;import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.fastjson.JSON; import java.io.*; import java.util.ArrayList; import java.util.List; /** * Excel工具类 */ public class ExcelUtil { /** * 读取Excel文件 * * @param inputStream Excel文件输入流 * @param clazz 数据模型类 * @param <T> 数据模型类型 * @return 读取到的数据列表 */ public static <T> List<T> readExcel(InputStream inputStream, Class<T> clazz) { List<T> dataList = new ArrayList<>(); ExcelReader excelReader = EasyExcel.read(inputStream).build(); List<Sheet> sheets = excelReader.getSheets(); if (sheets != null && sheets.size() > 0) { for (Sheet sheet : sheets) { Table table = sheet.getTable(); if (table != null) { AnalysisEventListener<T> listener = new AnalysisEventListener<T>() { @Override public void invoke(T data, AnalysisContext context) { dataList.add(data); } @Override public void doAfterAllAnalysed(AnalysisContext context) { } }; excelReader.read(table, clazz, listener); } } } excelReader.finish(); return dataList; } /** * 写入Excel文件 * * @param outputStream Excel文件输出流 * @param dataList 数据列表 * @param clazz 数据模型类 * @param <T> 数据模型类型 * @throws IOException IO异常 */ public static <T> void writeExcel(OutputStream outputStream, List<T> dataList, Class<T> clazz) throws IOException { ExcelWriter excelWriter = EasyExcel.write(outputStream, clazz).excelType(ExcelTypeEnum.XLSX).build(); Sheet sheet = new Sheet(1, 0, clazz); excelWriter.write(dataList, sheet); excelWriter.finish(); } /** * 从文件中读取Excel数据 * * @param file Excel文件 * @param clazz 数据模型类 * @param <T> 数据模型类型 * @return 读取到的数据列表 * @throws FileNotFoundException 文件不存在异常 */ public static <T> List<T> readExcelFromFile(File file, Class<T> clazz) throws FileNotFoundException { InputStream inputStream = new FileInputStream(file); return readExcel(inputStream, clazz); } /** * 将数据写入Excel文件 * * @param file Excel文件 * @param dataList 数据列表 * @param clazz 数据模型类 * @param <T> 数据模型类型 * @throws IOException IO异常 */ public static <T> void writeExcelToFile(File file, List<T> dataList, Class<T> clazz) throws IOException { OutputStream outputStream = new FileOutputStream(file); writeExcel(outputStream, dataList, clazz); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值