[ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel

Posted zhchoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel相关的知识,希望对你有一定的参考价值。

继上次使用js前端导出excel之后,另一个主要大家比較关注的是后台实现导出excel,由于本人开发使用的java所以这里使用apache的开源项目poi进行后台excel的导出。

本文文件夹

poi项目下载及载入

POI项目是apache官网的一个开源项目,其主要目的是对microsoft的办公软件进行接口封装,让用户能够对其进行编码方式书写。
项目开源网址:Apache POI: http://poi.apache.org/
到写文章的时候,最新版本号是3.1.1。下载bin包 解压缩后将jar包(下面图片中的jar包)增加到项目的lib中:
技术分享图片
OK。自己測试一下是否正常增加到项目库中就能够了。

extjs前端导出设置

在前端extjs的grid中增加底部gridtoolbar内容增加一个导出excelbutton,增加处理事件,对处理事件关联到后台action.

exportexyjsGrid: function (grid) {
//关联后台,传入须要的參数
}

extjs后台相应的解决方式

在后台的action处理:

创建excel工作簿

HSSFWorkbook workbook = new HSSFWorkbook();

创建一个excel页签

HSSFSheet sheet = workbook.createSheet("页签标题");

生成excel样式并初始化

HSSFCellStyle style = workbook.createCellStyle();

产生表格标题行(build headers)

    HSSFRow row = sheet.createRow(0);
    for (int i = 0; i < headers.length; i++) {

        HSSFCell cell = row.createCell(i);

        cell.setCellStyle(style);

        HSSFRichTextString text = new HSSFRichTextString(headers[i]);

        cell.setCellValue(text);

    }

构造数据行(build rows)

跟标题行一样 遍历前台传入的grid參数 找到store 过滤參数条件 遍历插入excel数据行并填充数据就可以。

本文主要使用的markdown编辑器功能:
1. 代码高亮
2. 图片上传
3. 标题文件夹








以上是关于[ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel的主要内容,如果未能解决你的问题,请参考以下文章

第三十四节,目标检测之谷歌Object Detection API源码解析

第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息

[EXTJS5学习笔记]第二十六节 在eclipse/myeclipse中使用sencha extjs的插件

[ExtJS5学习笔记]第十三节 Extjs5的Ext.each方法学习

全国计算机等级考试二级Python(2021年9月)备考笔记 第十四天

学习笔记第十四节课