java生成Excel文件,下载
pom引入poi的maven依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.15</version>
</dependency>
单元格的创建,设置样式和赋值
package com.yl; import java.io.FileOutputStream;
import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.CellRangeAddress; @SuppressWarnings("deprecation")
public class Book1 { public static void main(String[] args) {
HSSFWorkbook workbook = new HSSFWorkbook(); // 创建一个excel
HSSFSheet sheet = workbook.createSheet("sheet1");// 新建sheet页 HSSFCellStyle cellStyle = workbook.createCellStyle(); // 新建单元格样式
cellStyle.setFillForegroundColor((short) 13);// 设置背景色
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
cellStyle.setWrapText(true);// 设置自动换行 HSSFRow titleRow = sheet.createRow(0);
CellRangeAddress cra1 = new CellRangeAddress(0, 0, 0, 5);
sheet.addMergedRegion(cra1);
titleRow.createCell(0).setCellValue("haha1");
CellRangeAddress cra2 = new CellRangeAddress(0, 0, 6, 11);
sheet.addMergedRegion(cra2);
titleRow.createCell(6).setCellValue("haha2");
CellRangeAddress cra3 = new CellRangeAddress(0, 0, 12, 17);
sheet.addMergedRegion(cra3);
titleRow.createCell(12).setCellValue("haha3");
CellRangeAddress cra4 = new CellRangeAddress(0, 0, 18, 23);
sheet.addMergedRegion(cra4);
titleRow.createCell(18).setCellValue("haha4");
CellRangeAddress cra5 = new CellRangeAddress(0, 0, 24, 29);
sheet.addMergedRegion(cra5); titleRow.createCell(24).setCellValue("haha5"); HSSFRow row = sheet.createRow(1);
// 参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
CellRangeAddress region1 = new CellRangeAddress(1, 5, 0, 5); sheet.addMergedRegion(region1);
HSSFCell cellB1 = row.createCell(0);
cellB1.setCellValue("B1"); CellRangeAddress region2 = new CellRangeAddress(1, 5, 6, 11);
sheet.addMergedRegion(region2);
// HSSFRow row1 = sheet.createRow(0);//不要再重新创建行数了,这样会把之前填充的数据删除掉!
HSSFCell cellB2 = row.createCell(6);
cellB2.setCellValue("B2"); CellRangeAddress region3 = new CellRangeAddress(1, 5, 12, 17);
sheet.addMergedRegion(region3);
// HSSFRow row1 = sheet.createRow(0);//不要再重新创建行数了,这样会把之前填充的数据删除掉!
HSSFCell cellB3 = row.createCell(12);
cellB3.setCellValue("B3"); CellRangeAddress region4 = new CellRangeAddress(1, 5, 18, 23);
sheet.addMergedRegion(region4);
// HSSFRow row1 = sheet.createRow(0);//不要再重新创建行数了,这样会把之前填充的数据删除掉!
HSSFCell cellB4 = row.createCell(18);
cellB4.setCellValue("B4"); // 输出到本地
String excelName = "myExcel.xls";
FileOutputStream out = null;
try {
out = new FileOutputStream(excelName);
workbook.write(out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null)
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
out = null;
System.out.println("导出成功");
} } }
将文件在网页上导出:
// POI导出流文件下载
public static void downloadExcel(HSSFWorkbook workbook, HttpServletResponse response, String filename)
throws IOException {
try {
OutputStream out = response.getOutputStream();
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8"));
response.setContentType("application/msexcel;charset=UTF-8");
workbook.write(out);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
java生成Excel文件,下载的更多相关文章
- java生成excel文件
首先下载jexcelapi_2_6_12.tar.gz,解压后将里面的jxl.jar复制到WEB-INF/lib目录下面 String filePath = request.getParameter( ...
- 两种方式实现java生成Excel
Web应用中难免会遇到需要将数据导出并生成excel文件的需求.同样,对于本博客中的总结,也是建立在为了完成这样的一个需求,才开始去了解其实现形式,并且顺利完成需求的开发,先将实现过程总结于此.本博文 ...
- 使用node.js生成excel报表下载(excel-export express篇)
引言:日常工作中已经有许多应用功能块使用了nodejs作为web服务器,而生成报表下载也是我们在传统应用. java中提供了2套类库实现(jxl 和POI),.NET 作为微软的亲儿子更加不用说,各种 ...
- Java生成excel导出文件(使用poi+JXL)
1.使用poi生成文件 package com.mi.entity; import java.util.Date; public class Student { private int id; pri ...
- XLSTransformer生成excel文件简单演示样例
项目结构图: 项目中所用到的jar,能够到http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IO ...
- 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件
今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...
- springMVC(4)---生成excel文件并导出
springMVC(4)---生成excel文件并导出 在开发过程中,需要将数据库中的数据以excel表格的方式导出. 首先说明.我这里用的是Apache的POI项目,它是目前比较成熟的HSSF接口, ...
- oracle PL/SQL调用Java生成Excel
现在有个需求, 要求编写oracle存储过程生成Excel文件到指定目录, 但是oracle自己的API貌似不太给力, 所以只能通过另一种更强大的语言来实现了 ——Java.有一个Java框架 ...
- [转]java生成 excel 并导出文件
原文:https://blog.csdn.net/xunwei0303/article/details/53213130 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta P ...
随机推荐
- tp5 设置layui分页
\thinkphp\library\think\paginator\driver 添加 Layui.php <?php namespace think\paginator\driver; use ...
- vue项目中实现复制内容到剪贴板
项目中要实现分享功能,现在各种接口都关闭了,而且不同的浏览器要使用不同的代码,最后决定直接复制url,然后手动分享 Vue中使用了vue-clipboard2 github地址:https://git ...
- socket通讯---TcpClient
IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName()); IPAddress ipa = ipe.AddressList[0]; System.Ne ...
- 数据库技术丛书:SQL Server 2016 从入门到实战(视频教学版) PDF
1:书籍下载方式: SQL Server2016从入门到实战 PDF 下载 链接:https://pan.baidu.com/s/1sWZjdud4RosPyg8sUBaqsQ 密码:8z7w 学习 ...
- Confluence 6 自定义管理员联系信息
你可以自定义在 联系站点管理员(Contact Site Administrators)页面中显示的消息. 希望编辑这个管理员联系消息: 在屏幕的右上角单击 控制台按钮 ,然后选择 General C ...
- if __name__ == __'main'__: 判断讲解
"""王思聪作为消费者 要吃热狗生产者 负责做热狗问题:王思聪不清楚对方会生产多少热狗 """from multiprocessing im ...
- LeetCode(70): 爬楼梯
Easy! 题目描述: 假设你正在爬楼梯.需要 n 步你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 ...
- svn上check下来的项目,用idea打开,菜单栏没有svn工具解决办法
1.用idea打开你的项目(idea已经配置过小乌龟了) 2.菜单栏点击VCS,Enable Version Control Integration... 3.选择Subversion 4.这时候,菜 ...
- C++ LocalAlloc() & LocalSize() & LocalFree ()
关于LocalAlloc function,参考:https://msdn.microsoft.com/en-us/library/windows/desktop/aa366723(v=vs.85). ...
- fdisk命令
fdisk -l命令详解 Disk /dev/sda: 53.7 GB, 53687091200 bytes 块设备名称为/dev/sda,此设备的大小为53.7GB,这个数字不是特别精确,我系统是5 ...