使用办公文档插件:

文件-------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相关推荐

  1. 超详细的java生成excel文件并下载

    在网上随手一搜,可以搜到很多java生成excel文件相关的博客,但每个都有不同,核心点说清楚了,但具体运用的时候,相信大家或多或少都没法一次直接运用,这样每次去找并且运用的时候很费时间,所以这也是我 ...

  2. java生成Excel文件,下载

    pom引入poi的maven依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>po ...

  3. java 生成Excel文件导出

    Hutool工具类中有关于excel导出的工具类,非常好用 第一步,我们先导入依赖 <dependency><groupId>cn.hutool</groupId> ...

  4. Java生成Excel文件并响应给页面

    Controller层 @RequestMapping("/downloadStaffInfoExcel")public void downloadStaffInfoExcel(H ...

  5. java xssf的背景色,poi xssf背景颜色对照表 java生成excel文件

    最近需要做的功能用到了poi的颜色,但是网上都是hssf格式的,而xssf中用到的颜色都是一个short类型的数字,不知道什么数字对应什么颜色,于是写了个程序查看数字对应颜色. 1.直接上代码 pub ...

  6. java poi生成excel文件_java poi 导出Excel文件

    1,导包  poi-3.9-XXX.JAR 2, 创建一个实体对象 public class Student implements Serializable { /** * */ private st ...

  7. java生成excel文件步骤_java导出Excel文件的步骤全纪录

    一.背景 当前b/s模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用excel打开(电信系统.银行系统).或者是:我们已经习惯用excel打印.这样在我们实际 ...

  8. java生成excel文件

    首先下载jexcelapi_2_6_12.tar.gz,解压后将里面的jxl.jar复制到WEB-INF/lib目录下面 String filePath = request.getParameter( ...

  9. java生成excel文件并且隔行换色。

    实体类实例: @Data @Table(name = "test_user") @Entity @ExcelTarget(value = "userDO") / ...

最新文章

  1. SQL进阶五:SQL完整性约束
  2. WinForm开发框架资料积累
  3. 省赛组队赛3 比赛总结
  4. 大端和小端的判断及转换
  5. android 特色输入输出
  6. 葛优:你们有看过我的作品吗?| 今日趣图
  7. vue 使用 el-image图片无法显示
  8. psql: FATAL the database system is in recovery解决
  9. crout分解计算例题_矩阵与数值计算(2)——矩阵三角分解LU、PALU、Cholesky三角分解、QR分解...
  10. foobar2000隐藏桌面悬浮窗头像_多多情侣头像大全app-多多情侣头像大全软件v1.0.1...
  11. 一级b类计算机考试题目和类型,第五章计算机一级B类高职考试习题资料.doc
  12. 佳能g2810打印机扫描怎么用_佳能g2810怎么自动清洗
  13. FPGA vs ASIC
  14. hw叠加层开还是不开_停用hw叠加层有什么用
  15. 2023跨境出海指南:马来西亚网红营销白皮书
  16. matlab里面box on啥意思,image – Matlab图片中的Box on和axis坐标
  17. mmap内存映射原理
  18. 微信小程序:图片404错误,更换默认图片
  19. 3dmax动画学习阶段总结
  20. 查询彩票中奖号码小程序

热门文章

  1. 大数据公司Talend纳斯达克上市 股价大涨41.67%
  2. 【渝粤题库】国家开放大学2021春2603城市轨道交通安全管理题目
  3. layui table 头部工具栏右侧图标隐藏,增加
  4. scss主题颜色切换
  5. 研发工具——yarn的安装和使用
  6. linux 局域网私有云,Linux系统实战部署私有云网盘
  7. python基于PHP+MySQL的化妆品销售购物网站
  8. laya开发游戏框架--UIMgr
  9. 小程序的 wx.createVideoContext 使用
  10. 计算机2级可以搞小抄吗,计算机二级excel公式总结小抄