MyExcel 2.2.0 版本发布,支持公式导出

 惟心
发布于 2019年05月04日
收藏 75

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

导入:提供简便的API,读取Excel内容,并转化为List< Bean >。

导出:可快速导出海量数据的简单列表,可生成高复杂度布局的Excel,复杂布局指的是包含多种不规则合并单元格、背景色、字体大小、斜体等。

优点:

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

本次发布点如下:

  • 模板导出支持公式导出;
  • 支持字段原生类型导出(非全部为String);
  • 支持行隐藏;

按公式导出步骤:

  1. 在模板文件td上添加属性:formula,无需设定具体值
    <table>
        <tr>
            <td>1</td>
        </tr>
        <tr>
            <td>19</td>
        </tr>
        <tr>
            <td formula>SUM(A1:A2)</td>
        </tr>
    </table>

     

  2. td中书写具体的公式即可,如:SUM(A1:A2

默认情况下,程序会自动判别单元格内容类型,目前自动识别类型有以下三种:

  1. String
  2. Double
  3. Boolean

时间类型暂时以字符串形式输出。

设置为字符串类型数据可做如下操作:

在模板文件td上增加属性string设置该单元格类型为字符串

<table>
    <tr>
        <td string>19</td>
    </tr>
</table>

设置为布尔类型数据可做如下操作:

在模板文件td上增加属性boolean设置该单元格类型为布尔

<table>
    <tr>
        <td boolean>true</td>
    </tr>
</table>

具体使用,请移步:https://github.com/liaochong/myexcel/wiki

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:MyExcel 2.2.0 版本发布,支持公式导出
加载中

最新评论(10

我是一棵松,扫地松
我是一棵松,扫地松

引用来自“我是一棵松,扫地松”的评论

请问Excel操作用的什么底层?需要依赖office组件?还是poi?还是可以完全独立使用呢

引用来自“惟心”的评论

poi操作
感谢回答
3
309220728
跟之前的poi包冲突,心累
惟心

引用来自“SonivelY”的评论

请问支不支持 公式导入呢
暂不支持,开发中,感谢关注
惟心

引用来自“我是一棵松,扫地松”的评论

请问Excel操作用的什么底层?需要依赖office组件?还是poi?还是可以完全独立使用呢
poi操作
我是一棵松,扫地松
我是一棵松,扫地松
请问Excel操作用的什么底层?需要依赖office组件?还是poi?还是可以完全独立使用呢
SonivelY
SonivelY
请问支不支持 公式导入呢
田文健
很棒
Youtubeornotobe
Youtubeornotobe
正点
惟心

引用来自“XDOC-专注文档处理”的评论

建议使用datatype="string"这种形式
感谢提议
XDOC-专注文档处理
XDOC-专注文档处理
建议使用datatype="string"这种形式
返回顶部
顶部