多功能 Excel 工具包 MyExcel

Apache
Java HTML/CSS
未知
2019-03-28
惟心

MyExcel,是一个集导入、导出、加密Excel等多项功能的工具包。

定位 | Target

  • 导入:提供简便的API,读取Excel内容,并转化为List< Bean >。
  • 导出:可快速导出海量数据的简单列表,可生成高复杂度布局的Excel,复杂布局指的是包含多种不规则合并单元格、背景色、字体大小、斜体等。

优势 | Advantages

  • 可生成任意复杂表格:本工具使用迭代单元格方式进行Excel绘制,可生成任意复杂度Excel,提供多种宽度策略;
  • 零学习成本:使用Html作为模板,学习成本几乎为零;
  • 支持常用背景色、边框、字体等样式设置:具体参见下方Style-support(样式支持)部分;
  • 支持.XLS、.XLSX:支持生成.xls、.xlsx后缀的Excel;
  • 支持低内存SXSSF模式:支持低内存的SXSSF模式,可利用极低的内存生成.xlsx;
  • 支持生产者消费者模式导出:支持生产者消费者模式导出,无需一次性获取所有数据,分批获取数据配合SXSSF模式实现真正意义上海量数据导出;
  • 支持多种模板引擎:已内置Freemarker、Groovy、Beetl等常用模板引擎Excel构建器(详情参见文档Getting started),默认内置Beetl模板引擎(推荐引擎,Beetl文档);
  • 提供默认Excel构建器,直接输出简单Excel:无需编写任何Html,已内置默认模板,可直接根据POJO数据列表输出;
  • 支持一次生成多sheet:以table作为sheet单元,支持一份Excel文档中多sheet导出;

导入示例

URL htmlToExcelEampleURL = this.getClass().getResource("/templates/read_example.xlsx");
Path path = Paths.get(htmlToExcelEampleURL.toURI());

List<ArtCrowd> result = DefaultExcelReader.of(ArtCrowd.class)
        .sheet(0) // 如果为0,可省略该操作
        .rowFilter(row -> row.getRowNum() > 0) // 如无需过滤,可省略该操作
        .read(path.toFile());

public class ArtCrowd {
    // index代表列索引,从0开始
    @ExcelColumn(index = 0)
    private String name;

    @ExcelColumn(index = 1)
    private String age;

    @ExcelColumn(index = 2,dateFormatPattern="yyyy-MM-dd")
    private Date birthday;
}

导出示例

List<ArtCrowd> dataList = this.getDataList();
    Workbook workbook = DefaultExcelBuilder.of(ArtCrowd.class)
            .build(dataList);
    AttachmentExportUtil.export(workbook, "艺术生信息", response);
    // 加密导出
    // AttachmentExportUtil.encryptExport(workbook, "艺术生信息", response,"123456");
}

的码云指数为
超过 的项目
加载中

评论(14)

惟心 软件作者

引用来自“积极减肚子”的评论

请问支持一个单元格既包含文字又包含图片吗
抱歉哈,目前还不支持图片,正在开发中
积极减肚子
请问支持一个单元格既包含文字又包含图片吗
赵轩扬
还是不错
惟心 软件作者

引用来自“宋五哥”的评论

【问题请教】请问,使用Beetl或其他之类的模板,td宽度可以设置吗?如何设置呢
目前没有提供自定义宽度,只有自动列宽选项
宋五哥
宋五哥
【问题请教】请问,使用Beetl或其他之类的模板,td宽度可以设置吗?如何设置呢
开源中国两江总督
貌似还不错
惟心 软件作者

引用来自“JadenTseng”的评论

什么时候添加到maven中央仓库
都支持,所有看到的版本均已发布到maven中央仓库,可直接使用的
JadenTseng
JadenTseng
什么时候添加到maven中央仓库
JadenTseng
JadenTseng
2003 2007都支持吗
蓝狐流星
蓝狐流星
貌似不错

MyExcel 2.1.3 发布,提供行级读取处理能力

MyExcel,是一个集导入、导出、加密Excel等多项功能的工具包。 导入:提供简便的API,读取Excel内容,并转化为List< Bean >。 导出:可快速导出海量数据的简单列表,可生成高复杂度布局的Exc...

04/16 20:59

MyExcel 2.1.2 版本发布,重要 Bug 修复

MyExcel,是一个集导入、导出、加密Excel等多项功能的工具包。 导入:提供简便的API,读取Excel内容,并转化为List< Bean >。 导出:可快速导出海量数据的简单列表,可生成高复杂度布局的Exc...

04/02 12:54

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

C#怎样用excel.dll读取excel文件

public DataTable ReadExcelToTable(string filepath) { string excelfilePath = Server.MapPath("Excel/Excel.xls"); Excel.Application myExcel = new Excel.ApplicationClass(); Excel.Wo...

2010/12/22 11:14
451
0
将GridView中的数据导出到Excel / Word中

在C#程序设计时,我们很常用到GridView控件来显示数据,那我们怎样才能将excel中的数据导到Excel或者Word中呢? 前提条件:你的GridView已经能正常显示数据了,不管你是用代码实现的,还是直...

2016/04/06 09:27
19
1
java poi-读写word、excel

package zl.file; import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org....

2013/10/30 17:12
150
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部