2019独角兽企业重金招聘Python工程师标准>>>

1、struts2配置文件

<!-- 下载专题库资源分类的excel模板 -->

<action name="getResClassifyDemo" class="ResClassifyAction"

method="getResClassifyDemo">

<result type="stream">

<param name="contentType">application/vnd.ms-excel</param>

<param name="inputName">excelStream</param>

<param name="contentDisposition">attachment;filename="demo.xls"</param>

<param name="bufferSize">4096</param>

</result>

</action>

2、Action 方法

/***

* 下载资源分类的excel模板 zhang.kt

*/

private InputStream excelStream;

 

public InputStream getExcelStream() {

return excelStream;

}

 

public void setExcelStream(InputStream excelStream) {

this.excelStream = excelStream;

}

 

public String getResClassifyDemo() {

/*

* 查询应用分类导航书,按照node_id从小到大排序

*/

List<ResClassifyEntity> ls = this.resClassifyService.showResClassifyByOrder();

try {

HSSFWorkbook wb = this.writeXLS(ls);

this.exportExcel(wb);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return SUCCESS;

 

}

3、action 方法中调用的公共方法

//excel导出

private void exportExcel(HSSFWorkbook workbook) throws IOException {

ByteArrayOutputStream baos = new ByteArrayOutputStream();

workbook.write(baos);

baos.flush();

byte[] aa = baos.toByteArray();

excelStream = new ByteArrayInputStream(aa, 0, aa.length);

baos.close();

}

//excel数据写入的操作

public HSSFWorkbook writeXLS(List<ResClassifyEntity> list) {

HSSFWorkbook wb = new HSSFWorkbook();

HSSFSheet sheet = wb.createSheet("new sheet");

/** 创建样式 */

// 创建字体样式

HSSFFont font = wb.createFont();

font.setFontName("Verdana");

font.setBoldweight((short) 100);

font.setFontHeight((short) 300);

font.setColor(HSSFColor.BLUE.index);

// 创建单元格样式

HSSFCellStyle style = wb.createCellStyle();

style.setAlignment(HSSFCellStyle.ALIGN_CENTER);

style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);

style.setFillForegroundColor(HSSFColor.LIGHT_TURQUOISE.index);

style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

// 设置边框

style.setBottomBorderColor(HSSFColor.RED.index);

style.setBorderBottom(HSSFCellStyle.BORDER_THIN);

style.setBorderLeft(HSSFCellStyle.BORDER_THIN);

style.setBorderRight(HSSFCellStyle.BORDER_THIN);

style.setBorderTop(HSSFCellStyle.BORDER_THIN);

style.setFont(font);// 设置字体

 

String[] titles = { "节点ID", "父节点ID", "节点名称", "节点层数" };

int count = titles.length;

int size = list.size();

for (int i = 0; i < titles.length; i++) {

sheet.setColumnWidth(i, 4000); 

}

/** 创建sheet行和列 */

for (int i = 0; i <= size; i++) {

sheet.createRow(i);

HSSFRow rowtitletemp = sheet.getRow(i);

for (int j = 0; j < count; j++) {

rowtitletemp.createCell(j);

}

}

/** 向sheet页中添加数据 */

for (int i = 0; i <= size; i++) {

if (i == 0) {

                       //添加表头标题

HSSFRow hsRow = sheet.getRow(0);

for (int j = 0; j < titles.length; j++) {

hsRow.getCell(j).setCellStyle(style);

hsRow.getCell(j).setCellValue(titles[j].toString());

}

} else {

                              //填充数据

ResClassifyEntity resEntity = (ResClassifyEntity) list.get(i-1);

HSSFRow hssfRow = sheet.getRow(i);

for (int j = 0; j < titles.length; j++) {

hssfRow.getCell(j).setCellStyle(style);

if (j == 0) {

hssfRow.getCell(j).setCellValue(resEntity.getNodeId());

} else if (j == 1) {

hssfRow.getCell(j).setCellValue(resEntity.getParentId());

} else if (j == 2) {

hssfRow.getCell(j).setCellValue(resEntity.getNodeName());

} else {

hssfRow.getCell(j).setCellValue(resEntity.getOther());

}

}

 

}

}

return wb;

}

 

前台jsp页面:

<SCRIPT type="text/javascript">

js代码

function downLoadDemo() {

window.location.href = "/system/classify/getResClassifyDemo.action";

}

</SCRIPT>

页面类容

 <input type="button" id="" value="模板下载" class="input_btn_2"

οnclick="downLoadDemo()">

 

 

 

 

 

转载于:https://my.oschina.net/kt431128/blog/224743

struts2 poi excel 导出相关推荐

  1. poi excel 导出设置边框,自定义背景色,自定义字体

    HSSFCellStyle style = changeStyleByCreditExport(workbook, "仿宋",12," 204, 204, 255&quo ...

  2. java poi excel导出

    直接上代码 0. pom依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypo ...

  3. Struts2 POI 导入导出Excel数据

    页面端: <html> <head> <title>导入数据</title> </head> <body> <h1> ...

  4. SpringMVC + JDBC + POI Excel导出与导入 +下载 资源

    最近用 POI 做了个 导入 导出,所以自己就搭了个 SpringMVC + JDBC + POI 的简单框架,把过程 记录一下,方便回忆 demo框架: SpringMVC + JDBC  数据库: ...

  5. Poi excel 导出 工具类参考

    public void poiCreateExcel(HttpServletResponse response, Map<String, Object> map) {// 下载文件信息St ...

  6. java poi excel导出2003版改成2007版本的时候报错

    03版本: HSSFWorkbook book =new HSSFWorkbook();---并无报错 07版本: XSSFWorkbook book =new XSSFWorkbook(); 报错内 ...

  7. struts2 poi导出excel实例代码下载

    原文:struts2 poi导出excel实例代码下载 代码下载地址:http://www.zuidaima.com/share/1550463233526784.htm 页面展现成表格形式,添加ex ...

  8. Apache POI操作Excel导出JAVABEAN对象方法

    2019独角兽企业重金招聘Python工程师标准>>> Apache POI操作Excel导出方法说明 Apache的POI组件是Java操作Microsoft Office办公套件 ...

  9. poi处理excel导出

    一分钟说明 本文主要针对利用poi组件导出excel方式进行说明. 涉及知识点:- poi组件- spring4.0知识 poi组件 样式 CellStylecellStyle_topic_head ...

最新文章

  1. angular使用什么样的样式_Angular 样式使用注意事项
  2. 多线程c语言,如何用C语言实现多线程
  3. Just $h$-index HDU - 6278(主席树找区间大于等于k的个数)
  4. LeetCode 424. Longest Repeating Character Replacement
  5. 前端wxml取后台js变量值_这些鲜为人知的前端冷知识,你都GET了吗?
  6. Kubernetes 入门(4)集群配置
  7. 计算机专业 毕业论文 百度云,计算机专业毕业论文.pdf
  8. Win11任务栏颜色如何更改 Win11更改任务栏颜色教程
  9. 最小生成树计数(HYSBZ-1016)(加强版实现)
  10. 基于 HTML5 WebGL 的 3D 智慧隧道漫游巡检
  11. android studio:aar文件出现问号,导入不生效解决
  12. 计算机系统应用 莫军,ARINC653分区操作系统多核处理器任务调度设计
  13. uni ios视频黑屏、无声音或无法播放
  14. 飞秋怎么搜索指定ip好友_飞秋怎么加好友
  15. android 工具 拓扑图,GitHub - AndroidHelper/graph.editor: HTML5拓扑图编辑器
  16. JavaScript基本第一天总结
  17. Qt编写安防视频监控系统58-子模块2窗口信息
  18. SliceM与SliceL
  19. 链表中为何使用二级指针
  20. 将中文转换成拼音的组件类的pinyin

热门文章

  1. 中国人工智能学会通讯——AI时代的若干伦理问题及策略 1.3 构建算法治理的内外部约束机制...
  2. C# DataTable 和List之间相互转换的方法
  3. Codeforces Round #313 (Div. 1) C. Gerald and Giant Chess DP
  4. Nginx实战基础篇一 源码包编译安装部署web服务器
  5. SQL server 2005安装问题汇总
  6. CopyOnWriteArrayList原理及算法题存档
  7. python 清空文件夹_python读写文件
  8. 百度编辑器ueditor自适应手机端
  9. requirejs与echart的一些问题
  10. RocketMQ有哪些消息类型?springboot如何整合rocketMQ