# miniexcel
[![Maven central](https://maven-badges.herokuapp.com/maven-central/com.github.wujiuye/miniexcel/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.wujiuye/miniexcel)
[![License](http://img.shields.io/:license-apache-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
* [使用文档](https://github.com/wujiuye/miniexcel/wiki)
* [版本更新历史](https://github.com/wujiuye/miniexcel/blob/master/VERSION.MD)
## 简介
`miniexcel`主要目的是解决读写大数据量(上`w`条记录)时导致的`OOM`问题。
`miniexcel`正如其名,简单且小巧,源码也简单,只是加了点设计模式。操作`excel`无非就是读和写,所以`miniexcel`有了读取器和写入器的概念,同时为了更加通用,不管是读取器还是写入器,在开始读或写时,都必须要先创建一个监听器,这便是可玩性高的原因。
* 当读取数据时,监听器用于接收读取到的数据;
* 当写入数据时,监听器要传给写入器当前要写入的数据;
为什么这么设计?
* 如果自己实现读取监听器,那么可以灵活的仅读取自己需要的列,可以实现按顺序读取而不按注解读取;
* 如果自己实现写入监听器,那么非常好的支持分页查询,每查一页自动写一页,并且支持设置每个`sheet`多少行记录,超过自动切换`sheet`写入。
`miniexcel`在新版本还引入了泛型和注解的使用。`@ExcelCellTitle`注解是双向使用的,导出生效,导入也生效。
* 用于写入(导出)数据时,`@ExcelCellTitle`注解可给`bean`的字段取一个标题名,还有设置标题的排序,新版本添加了是否忽略该字段的配置。
默认情况下使用`bean`的字段名作为列标题,标题不排序。
* 用于读取(导入)数据时,`@ExcelCellTitle`注解用于表格列与`bean`的字段做映射;
`miniexcel`只是为了解决简单数据的导入导出而设计的,并不想搞得太复杂。所以`miniexcel`不支持合并单元格之类的操作。
## 在项目中使用miniexcel
maven中使用:
```xml
<!-- https://mvnrepository.com/artifact/com.github.wujiuye/miniexcel -->
<dependency>
<groupId>com.github.wujiuye</groupId>
<artifactId>miniexcel</artifactId>
<version>1.1.0-RELEASE</version>
</dependency>
```
gradle中使用:
```groovy
// https://mvnrepository.com/artifact/com.github.wujiuye/miniexcel
compile group: 'com.github.wujiuye', name: 'miniexcel', version: '1.1.0-RELEASE'
```
## 性能对比
![性能对比](./性能对比.png)
没有合适的资源?快使用搜索试试~ 我知道了~
miniexcel主要是解决读写大数据量(上百w条记录)时导致的OOM问题。扩展性强、可玩性高、对于大数据量导入导出.zip
共44个文件
java:33个
md:2个
properties:2个
需积分: 1 0 下载量 190 浏览量
2024-03-06
22:51:43
上传
评论
收藏 954KB ZIP 举报
温馨提示
miniexcel主要是解决读写大数据量(上百w条记录)时导致的OOM问题。扩展性强、可玩性高、对于大数据量导入导出.zip
资源推荐
资源详情
资源评论
收起资源包目录
miniexcel主要是解决读写大数据量(上百w条记录)时导致的OOM问题。扩展性强、可玩性高、对于大数据量导入导出.zip (44个子文件)
miniexcel-master
gradle.properties 1KB
src
test
java
com
wujiuye
miniexcel
test
csv
NioWriteCsvTest.java 3KB
DataExportTest.java 3KB
model
DateModel.java 1KB
DataImportTest.java 3KB
main
resources
miniexcel.properties 177B
java
com
wujiuye
miniexcel
excel
annotation
ExcelMetaData.java 2KB
ExcelCellTitle.java 2KB
CellAnnotationParser.java 7KB
ColumnsDesignator.java 2KB
GlobalCfgProperties.java 3KB
ExcelFileType.java 1KB
writer
DefaultExcelWriteListenerAdapter.java 1KB
AbstractExcelWriter.java 7KB
GeneralExcelWriteListener.java 3KB
FormatException.java 849B
ExcelWriterListener.java 2KB
SXSSFWriter.java 6KB
CsvWriter.java 6KB
ExcelWriteListenerAdapter.java 2KB
MiniexcelContent.java 851B
util
StringUtils.java 1KB
DateUtils.java 3KB
properties
PropertiesUtils.java 3KB
PropertiesAnnotation.java 627B
LineBufferReader.java 3KB
ReflectUtils.java 5KB
reader
DefaultExcelReaderListener.java 3KB
CsvReader.java 4KB
ExcelReaderListener.java 1KB
AnnotationExcelReaderListener.java 4KB
AbstractExcelReader.java 4KB
XLS2003Reader.java 7KB
ExcelReaderListenerAdapter.java 472B
XLSX2007Reader.java 7KB
LICENSE 11KB
gradlew.bat 2KB
性能对比.png 898KB
build.gradle 3KB
settings.gradle 32B
gradlew 5KB
.gitignore 90B
VERSION.MD 6KB
README.md 3KB
共 44 条
- 1
资源评论
日刷百题
- 粉丝: 5594
- 资源: 951
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功