java excel导出功能_java中的Excel导出功能
public void exportExcel(Long activityId, HttpServletResponse response) throws IOException
{
// 获取统计报表信息
List productInfoList = reportDao.queryStatisticReport(activityId);
// 创建一个工作薄
HSSFWorkbook workbook = new HSSFWorkbook();
// 创建一个工作表sheet
HSSFSheet sheet = workbook.createSheet("统计报表");
// 设置单元格每列的宽度
sheet.setColumnWidth(0, 50 * 256);
sheet.setColumnWidth(1, 50 * 256);
sheet.setColumnWidth(2, 10 * 256);
// 表格信息内容的样式
HSSFCellStyle style = workbook.createCellStyle();
// 水平居中
style.setAlignment(HorizontalAlignment.CENTER);
// 垂直居中
style.setVerticalAlignment(VerticalAlignment.CENTER);
// 行数
int rowCount = 0;
// 第一行的标题行
HSSFRow row0 = sheet.createRow(rowCount++);
// 列表格
HSSFCell cell_title = row0.createCell(0);
cell_title.setCellValue("统计报表");
// 标题样式
HSSFCellStyle style_title = workbook.createCellStyle();
style_title.setAlignment(HorizontalAlignment.CENTER);
style_title.setVerticalAlignment(VerticalAlignment.CENTER);
//设置字体样式
HSSFFont font = workbook.createFont();
//字号
font.setFontHeightInPoints((short) 16);
// 红色字体
font.setColor(HSSFFont.COLOR_RED);
style_title.setFont(font);
cell_title.setCellStyle(style_title);
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2));
// 第二行的表头
HSSFRow row1 = sheet.createRow(rowCount++);
// 表头样式
HSSFCellStyle style_header = workbook.createCellStyle();
style_header.setAlignment(HorizontalAlignment.CENTER);
style_header.setVerticalAlignment(VerticalAlignment.CENTER);
style_header.setFillForegroundColor(new HSSFColor.SKY_BLUE().getIndex());
style_header.setFillPattern(FillPatternType.SOLID_FOREGROUND);
// 列表格
HSSFCell cell_header0 = row1.createCell(0);
cell_header0.setCellValue("展示商品名称");
cell_header0.setCellStyle(style_header);
HSSFCell cell_header1 = row1.createCell(1);
cell_header1.setCellValue("SKU商品名称");
cell_header1.setCellStyle(style_header);
HSSFCell cell_header2 = row1.createCell(2);
cell_header2.setCellValue("数量");
cell_header2.setCellStyle(style_header);
if (!StringUtils.isEmpty(productInfoList))
{
for (ProductInfo productInfo : productInfoList)
{
List sbomInfoList = productInfo.getSbomInfoList();
for (int i = 0; i < sbomInfoList.size(); i++)
{
// 行表格
HSSFRow row = sheet.createRow(rowCount);
SbomInfo sbomInfo = sbomInfoList.get(i);
if (i == 0)
{
// 列表格
HSSFCell cell0 = row.createCell(0);
cell0.setCellValue(productInfo.getDisPrdName());
cell0.setCellStyle(style);
// 含有2个以上数据的,则需要合并单元格
if (sbomInfoList.size() > 1)
{
sheet.addMergedRegion(new CellRangeAddress(rowCount, rowCount + sbomInfoList.size() - 1, 0, 0));
}
}
// 列表格
HSSFCell cell1 = row.createCell(1);
cell1.setCellValue(sbomInfo.getSbomName());
cell1.setCellStyle(style);
// 列表格
HSSFCell cell2 = row.createCell(2);
cell2.setCellValue(sbomInfo.getNumber());
cell2.setCellStyle(style);
// 行数增1
rowCount = rowCount + 1;
}
}
}
// 设置文件名
String fileName = "统计报表.xls";
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
response.setHeader("Pragma", "No-cache");
OutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
outputStream.flush();
outputStream.close();
workbook.close();
}
导出Excel表格:
java excel导出功能_java中的Excel导出功能相关推荐
- java excel 中文乱码_java中读取excel文件中字符串乱码问题解决方法
以前的时候发现直接java读取一个excel文件输出里面的字符串会乱码,中文字符不会乱码,但是遇到英文的时候输出会乱码.这个问题太奇怪了. 我的表格名字为Shirley.xls. 我曾经直接读取exc ...
- java消息提示代码_JAVA中实现消息提示功能代码 .
注(在MyEclipse中新建一个jsp文件然后把代码复制到当中即可!) String path = request.getContextPath(); String basePath = reque ...
- Java EasyExcel在Web网站中读写Excel的方法及示例代码
使用EasyExcel可以更容易简单在Web网站中读写Excel,本文主要介绍在Java Web网站中读写Excel方法及示例代码. 原文地址:Java EasyExcel在Web网站中读写Excel ...
- java excel表格导入_java中excel表格导入实例
展开全部 需要32313133353236313431303231363533e59b9ee7ad9431333264623165导入jxl.jar (在网上可以下载,然后放到lib文件夹中) 开放分 ...
- java excel 模板 替换_JAVA POI替换EXCEL模板中自定义标签(XLSX版本)满足替换多个SHEET中自定义标签...
个人说明:为了简单实现导出数据较少的EXCEL(根据自定义书签模板) 一.替换Excel表格标签方法 ``` /** * 替换Excel模板文件内容 * @param map * 需要替换的标签建筑队 ...
- Java写一个excel工具类_Java中Excel写操作工具类--Java免费学习网
核心提示:package com.common.excel;import com.common.excel.exception.WriteExcelException;import jxl.Workb ...
- excel函数去重_Python中实现Excel的重复值提取
本文作者:王碧琪,中南财经政法大学金融学院 本文编辑:任 哲 技术总编:张馨月 爬虫俱乐部云端课程 爬虫俱乐部于2020年暑期在线上举办的Stata与Python编程技术训练营和Stata数据分析 ...
- java获取response数据_Java中实现Http请求并获取响应数据
前言 在演示的功能代码中使用的请求http地址为:http://timor.tech/api/holiday/year/ 接口说明:获取指定年份或年月份的所有节假日信息.默认返回当前年份的所有信息. ...
- java堆 数据结构 堆_Java中的紧凑堆外结构/组合
java堆 数据结构 堆 在上一篇文章中,我详细介绍了代码对主内存的访问方式的含义. 从那时起,我就在Java中可以做什么以实现更可预测的内存布局提出了很多疑问. 有些模式可以使用数组支持的结构来应用 ...
最新文章
- 理解jmeter聚合报告
- 3.如何安装Apache Spark
- arrays中copyof复制两个数组_Java的数组初识和拷贝用法
- 浅谈ASP.NET 4中构造“.NET研究”HTML5视频控件
- 8位16位32位单片机区别
- CentOS 6.3下Apache+SVN部署Web版本同步
- leetcode Largest Rectangle in Histogram 单调栈
- 网络工程师需要那些技术
- 内网穿透 (Natapp)
- 方舟生存计划怎么删除服务器信息,方舟服务器怎么删除玩家数据 | 手游网游页游攻略大全...
- Spring核心方法 refresh 解析
- Python 数据处理与分析(五) 设计一个高回报的投资组合(投资回报和风险分析)任务 4:马科维茨的均值-方差组合模型
- bochs运行xp_bochs xp镜像完整免费版
- 首届青年统计学家论坛 | 小微金融与个人征信专场
- 简单通俗易懂 汽车入门知识图解大集合
- flex实现自定义鼠标
- echarts饼图圆环图数据为0时字体重叠
- 樊登《创业,从发心到执行》课程学习总结
- win10自动修复-无限循环【通用完美】超简单解决办法
- 华为鸿蒙摄像头,随时随地看一看!华为首款鸿蒙智能摄像头发布
热门文章
- Quay (2) - 镜像常规操作
- OpenShift 4 之登录进 CodeReady Container 的 CoreOS
- 为Raspberry Pi开发.NET应用程序:第2部分
- Python 2 结束支持,Ubuntu 20.04 LTS 继续进行将其移除的工作
- element table批量删除_element ui 批量删除
- delphi接口带上请求头是什么意思_Python接口自动化之Token详解及应用
- RestFul的学习 2021-04-25
- makefile 打印变量_通过实例学Makefile
- 70进货卖100利润是多少_服装批发利润大揭秘!让你拿货砍价心里有个底
- 白月黑羽教python_白月黑羽Python在线教程