使用Java生成excel文件:apache-poi
使用办公文档插件:
文件-------HSSFWorkbook
页----------HSSFSheet
行----------HSSFRow
列----------HSSFCell
样式--------HSSFCellStyle
1.使用apache-poi生成excel:
1).导入依赖:
<!--poi依赖--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.15</version></dependency>
2).使用封装类生成excel文件:
//使用apache-poi生成excel文件
public class CreateExcelTest {public static void main(String[] args) throws IOException {//创建HSSFWorkbook对象,对应一个excel文件HSSFWorkbook wb = new HSSFWorkbook();//使用wb创建HSSFSheet对象。对应wb文件中的一页HSSFSheet sheet = wb.createSheet("学生列表");//使用sheet创建HSSFRow对象,对应sheet中的一行HSSFRow row = sheet.createRow(0);//行号:从0开始依次增加//使用row创建HSSFCell对象,对row中的列HSSFCell cell = row.createCell(0);//列的编号:从0开始依次增加cell.setCellValue("学号");cell = row.createCell(1);cell.setCellValue("姓名");cell = row.createCell(2);cell.setCellValue("年龄");//生成HSSFCellStyle对象HSSFCellStyle style = wb.createCellStyle();style.setAlignment(HorizontalAlignment.CENTER);//对齐方式//使用sheet创建10个HSSFRow对象,对应sheet中的10行for(int i=1;i<=10;i++){row = sheet.createRow(i);//使用row创建HSSFCell对象,对row中的列cell = row.createCell(0);//列的编号:从0开始依次增加cell.setCellValue(100+i);cell = row.createCell(1);cell.setCellValue("NAME"+i);cell = row.createCell(2);cell.setCellStyle(style);cell.setCellValue(20+i);}//调用工具函数生成excel文件OutputStream os = new FileOutputStream("D:\\实践项目\\CRM后台系统\\serverDir\\studentList.xls");//目录必须手动创建好,文件名可以自动生成wb.write(os);//关闭流资源os.close();wb.close();System.out.println("===========ok==============");}
}
2.导出下载文件
1)test类测试用Java生成excel文件
//使用apache-poi生成excel文件
public class CreateExcelTest {public static void main(String[] args) throws IOException {//创建HSSFWorkbook对象,对应一个excel文件HSSFWorkbook wb = new HSSFWorkbook();//使用wb创建HSSFSheet对象。对应wb文件中的一页HSSFSheet sheet = wb.createSheet("学生列表");//使用sheet创建HSSFRow对象,对应sheet中的一行HSSFRow row = sheet.createRow(0);//行号:从0开始依次增加//使用row创建HSSFCell对象,对row中的列HSSFCell cell = row.createCell(0);//列的编号:从0开始依次增加cell.setCellValue("学号");cell = row.createCell(1);cell.setCellValue("姓名");cell = row.createCell(2);cell.setCellValue("年龄");//生成HSSFCellStyle对象HSSFCellStyle style = wb.createCellStyle();style.setAlignment(HorizontalAlignment.CENTER);//对齐方式//使用sheet创建10个HSSFRow对象,对应sheet中的10行for(int i=1;i<=10;i++){row = sheet.createRow(i);//使用row创建HSSFCell对象,对row中的列cell = row.createCell(0);//列的编号:从0开始依次增加cell.setCellValue(100+i);cell = row.createCell(1);cell.setCellValue("NAME"+i);cell = row.createCell(2);cell.setCellStyle(style);cell.setCellValue(20+i);}//调用工具函数生成excel文件OutputStream os = new FileOutputStream("D:\\实践项目\\CRM后台系统\\serverDir\\studentList.xls");//目录必须手动创建好,文件名可以自动生成wb.write(os);//关闭流资源os.close();wb.close();System.out.println("===========ok==============");}
}
2)前端jsp例子
<script type="text/javascript">$(function (){//给下载按钮添加事件$("#fileDownloadBtn").click(function (){//发送文件下载的请求//所有文件下载的请求只能发同步请求。!!!!!window.location.href="workbench/activity/fileDownload.do";})})
</script>
3)controller类接收响应,现把文件读取到服务器中,再发送到浏览器进行下载
//文件下载上传@RequestMapping("/workbench/activity/fileDownload.do")public void fileDownload(HttpServletResponse response) throws IOException {//1.设置响应类型response.setContentType("application/octet-stream;charset=UTF-8");//2.获取输出流//response.getWriter()//这个是以字符的形式传输的,这种一般是之前的HTML文件那些OutputStream out = response.getOutputStream();//这个是以字节的形式传输的,传输的是现在表格等//浏览器接收到响应信息之后,默认情况下,都会在浏览器窗口打开响应信息。// 即使打不开,也会调用应用程序来打开;只有实在打不开才会激活文件下载窗口//可以设置响应头信息,使浏览器接收响应信息直接激活下载窗口response.addHeader("Content-Disposition","attachment;filename=mystudentList.xls");//读取excel文件(InputStream),把输出到浏览器(OutoutStream)InputStream is = new FileInputStream("D:\\实践项目\\CRM后台系统\\serverDir\\studentList.xls");byte[] buff=new byte[256];int len=0;while ((len=is.read(buff))!=-1){out.write(buff,0,len);}//关闭资源is.close();out.flush();}
使用Java生成excel文件:apache-poi相关推荐
- 超详细的java生成excel文件并下载
在网上随手一搜,可以搜到很多java生成excel文件相关的博客,但每个都有不同,核心点说清楚了,但具体运用的时候,相信大家或多或少都没法一次直接运用,这样每次去找并且运用的时候很费时间,所以这也是我 ...
- java生成Excel文件,下载
pom引入poi的maven依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>po ...
- java 生成Excel文件导出
Hutool工具类中有关于excel导出的工具类,非常好用 第一步,我们先导入依赖 <dependency><groupId>cn.hutool</groupId> ...
- Java生成Excel文件并响应给页面
Controller层 @RequestMapping("/downloadStaffInfoExcel")public void downloadStaffInfoExcel(H ...
- java xssf的背景色,poi xssf背景颜色对照表 java生成excel文件
最近需要做的功能用到了poi的颜色,但是网上都是hssf格式的,而xssf中用到的颜色都是一个short类型的数字,不知道什么数字对应什么颜色,于是写了个程序查看数字对应颜色. 1.直接上代码 pub ...
- java poi生成excel文件_java poi 导出Excel文件
1,导包 poi-3.9-XXX.JAR 2, 创建一个实体对象 public class Student implements Serializable { /** * */ private st ...
- java生成excel文件步骤_java导出Excel文件的步骤全纪录
一.背景 当前b/s模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用excel打开(电信系统.银行系统).或者是:我们已经习惯用excel打印.这样在我们实际 ...
- java生成excel文件
首先下载jexcelapi_2_6_12.tar.gz,解压后将里面的jxl.jar复制到WEB-INF/lib目录下面 String filePath = request.getParameter( ...
- java生成excel文件并且隔行换色。
实体类实例: @Data @Table(name = "test_user") @Entity @ExcelTarget(value = "userDO") / ...
最新文章
- SQL进阶五:SQL完整性约束
- WinForm开发框架资料积累
- 省赛组队赛3 比赛总结
- 大端和小端的判断及转换
- android 特色输入输出
- 葛优:你们有看过我的作品吗?| 今日趣图
- vue 使用 el-image图片无法显示
- psql: FATAL the database system is in recovery解决
- crout分解计算例题_矩阵与数值计算(2)——矩阵三角分解LU、PALU、Cholesky三角分解、QR分解...
- foobar2000隐藏桌面悬浮窗头像_多多情侣头像大全app-多多情侣头像大全软件v1.0.1...
- 一级b类计算机考试题目和类型,第五章计算机一级B类高职考试习题资料.doc
- 佳能g2810打印机扫描怎么用_佳能g2810怎么自动清洗
- FPGA vs ASIC
- hw叠加层开还是不开_停用hw叠加层有什么用
- 2023跨境出海指南:马来西亚网红营销白皮书
- matlab里面box on啥意思,image – Matlab图片中的Box on和axis坐标
- mmap内存映射原理
- 微信小程序:图片404错误,更换默认图片
- 3dmax动画学习阶段总结
- 查询彩票中奖号码小程序