从数据库中取出数据表,导入并生成excel

@RequestMapping("/numericalStatement1")public void createExcel(HttpServletResponse resp) throws Exception{try {String path = "G:/test.xlsx";// 创建新的Excel 工作簿XSSFWorkbook workbook = new XSSFWorkbook();// 在Excel工作簿中建一工作表,其名为缺省值// 如要新建一名为"用户表"的工作表,其语句为:XSSFSheet sheet = workbook.createSheet("成绩表");// 在索引0的位置创建行(最顶端的行)XSSFRow row = sheet.createRow((short) 0);//在索引0的位置创建单元格(左上端)XSSFCell cell = row.createCell((short) 0);//创建单元格样式CellStyle cellStyle = workbook.createCellStyle();// 设置这些样式
          cellStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index);cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 定义单元格为字符串类型
          cell.setCellType(HSSFCell.CELL_TYPE_STRING);// 在单元格中输入一些内容cell = row.createCell((short) 0);cell.setCellValue("成绩编号");cell.setCellStyle(cellStyle);cell = row.createCell((short) 1);cell.setCellValue("组织架构参数表编号");cell.setCellStyle(cellStyle);cell = row.createCell((short) 2);cell.setCellValue("试卷编号");cell.setCellStyle(cellStyle);cell = row.createCell((short) 3);cell.setCellValue("客观题成绩");cell.setCellStyle(cellStyle);cell = row.createCell((short) 4);cell.setCellValue("主观题成绩");cell.setCellStyle(cellStyle);cell = row.createCell((short) 5);cell.setCellValue("总成绩");cell.setCellStyle(cellStyle);//查询数据库中所有的数据
//          ResultMapper mapper = getMapper(ResultMapper.class);
//          VtUserCriteria cri = new VtUserCriteria();
//          cri.createCriteria().andUserEnabledEqualTo(1);
        List<Result> list = resultService.selectAllResult();/*//第一个sheet第一行为标题XSSFRow rowFirst = sheet.createRow(0);rowFirst.setHeightInPoints(21.75f);*/for (int i = 0; i < list.size(); i++) {row = sheet.createRow((int) i + 1);Result stu = (Result) list.get(i);// 第四步,创建单元格,并设置值row.createCell((short) 0).setCellValue(stu.getId());row.createCell((short) 1).setCellValue(stu.getParaorgleadershipsId());row.createCell((short) 2).setCellValue(stu.getPaperId());row.createCell((short) 3).setCellValue(stu.getObjResult());row.createCell((short) 4).setCellValue(stu.getSubResult());row.createCell((short) 5).setCellValue(stu.getTotalResult());sheet.autoSizeColumn((short) 0); //调整第一列宽度(自适应),只识别数字、字母sheet.autoSizeColumn((short) 1); //调整第二列宽度//调整第三列宽度,有中文,先判断这一列的最长字符串//  int length = stu.getPaperId().getBytes().length;//   sheet.setColumnWidth((short)2,(short)(length*2*256));sheet.autoSizeColumn((short) 2); //调整第三列宽度sheet.autoSizeColumn((short) 3); //调整第四列宽度sheet.autoSizeColumn((short) 4); //调整第五列宽度sheet.autoSizeColumn((short) 5); //调整第六列宽度/*Font font = workbook.createFont();font.setFontHeightInPoints((short)18); //字体大小sheet.setDefaultRowHeightInPoints(21.75f);font.setFontName("楷体");font.setBoldweight(Font.BOLDWEIGHT_BOLD); //粗体font.setColor(HSSFColor.GREEN.index);    //绿字- 字体颜色*/}// 新建一输出文件流FileOutputStream fOut = new FileOutputStream(path);// 把相应的Excel 工作簿存盘
          workbook.write(fOut);//清空缓冲区数据
          fOut.flush();// 操作结束,关闭文件
          fOut.close();System.out.println("文件生成...");} catch (Exception e) {System.out.println("已运行 xlCreate() : " + e);}}

代码引自https://www.cnblogs.com/zhxn/p/7016380.html

转载于:https://www.cnblogs.com/minxiaofei/p/10081073.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【vue-router①】router-link跳转页面传递参数 - 进击的前端之路(偶尔爬坑java小路) - SegmentFault 思否

在vue项目中&#xff0c;往往会遇到这样的情况&#xff0c;就是要实现在一个循环列表中&#xff0c;点击其中一条跳转到下个页面&#xff0c;然后将这一条的相关数据带到下个页面中显示&#xff0c;这是个循环列表&#xff0c;无论点哪一条都是跳到相同的页面&#xff0c;只是填…

RHEL7 USB installation problem and solving

版权声明&#xff1a;本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/scruffybear/article/details/37063701 Encountered quite a few problems while install the RHEL7, with the Windows system already installed. Problem 1:/dev/root does not exis…

Vue表单类的父子组件数据传递示例_vue.js_脚本之家

使用Vue.js进行项目开发&#xff0c;那必然会使用基于组件的开发方式&#xff0c;这种方式的确给开发和维护带来的一定的便利性&#xff0c;但如果涉及到组件之间的数据与状态传递交互&#xff0c;就是一件麻烦事了&#xff0c;特别是面对有一大堆表单的页面。 在这里记录一下…

Jmeter-【JSON Extractor】-响应结果中三级key取值

一、请求返回样式 二、取第三个option 三、查看结果 转载于:https://www.cnblogs.com/Nancy-Lee/p/10938758.html

Day5:python之函数(3)

一、函数默认值参数 内置函数&#xff1a; input&#xff08;&#xff09;、print&#xff08;&#xff09;、int&#xff08;&#xff09; 常用模块&#xff1a; 1、列表生成式 s [1,2,3,4,5,6,7,8] for i in s:print(i1) res [ i1 for i in s] res [str(i) for i in s]prin…

vue路由传参的三种基本方式 - 流年的樱花逝 - SegmentFault 思否

现有如下场景&#xff0c;点击父组件的li元素跳转到子组件中&#xff0c;并携带参数&#xff0c;便于子组件获取数据。 父组件中&#xff1a; <li v-for"article in articles" click"getDescribe(article.id)"> methods&#xff1a; 方案一&#…

Rust从入门到放弃(1)—— hello,world

安装及环境配置 特点&#xff1a;安全&#xff0c;性能&#xff0c;并发rust源配置RLS安装cargo rust管理工具&#xff0c;该工具可以愉快方便的管理rust工程 #!/bin/bash mkdir learn cd learn cargo init ## 该命令会在当前目录下初始化一个## 目录下会出现一个Cargo.toml文…

牛客33-tokitsukaze and Number Game(数论)

题目描述 tokitsukaze又在玩3ds上的小游戏了&#xff0c;现在她遇到了难关。 tokitsukaze得到了一个整数x&#xff0c;并被要求使用x的每一位上的数字重新排列&#xff0c;组成一个能被8整除的数&#xff0c;并且这个数尽可能大。 聪明的你们请帮帮可爱的tokitsukaze&#xff0…

手摸手,带你用vue撸后台 系列一(基础篇) - 掘金

完整项目地址&#xff1a;vue-element-admin 系列文章&#xff1a; 手摸手&#xff0c;带你用 vue 撸后台 系列一&#xff08;基础篇&#xff09;手摸手&#xff0c;带你用 vue 撸后台 系列二(登录权限篇)手摸手&#xff0c;带你用 vue 撸后台 系列三 (实战篇)手摸手&#xf…

21、python基础学习-new_three_menu

1 #!/usr/bin/env python2 #__author: hlc3 #date: 2019/5/294 5 menu {6 北京: {7 海淀: {8 五道口: {9 soho: {}, 10 网易: {}, 11 google: {} 12 }, 13 中关村: { 14 …

文献笔记(十六)

一、基本信息 标题&#xff1a;一种基于 C 语言访问 MySQL 数据库的研究 时间&#xff1a;2016 出版源&#xff1a;贵州轻工职业技术学院 领域分类&#xff1a;数据库与信息管理 作者&#xff1a;唐林 副教授&#xff0c; 研究方向&#xff1a; 计算机应用 二、研究背景 相关工…

webpack+vue+mui学习心得

引入mui 1.不需要npm安装; 直接从官方下载丢进来 2.那就是全局引用了; 没错,就是index.html里直接引入,当然也可以main.js引入,随意啦! so easy 3.找到webpack.base.conf.js,在module与plugins之间插入以下代码: 4.这样就可以在项目里面直接用了.然就是mui与vue-router及点…

[java设计模式简记] 观察者模式(Observer-Pattern)

观察者模式(Observer-Pattern) 数据主体拥有需要数据的对象的数据&#xff0c;并且数据改变时需要数据的对象要及时知道 意图&#xff1a; 定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。主要…

【ARTS】01_04_左耳听风-20181203~1209

ARTS&#xff1a; Algrothm: leetcode算法题目Review: 阅读并且点评一篇英文技术文章Tip/Techni: 学习一个技术技巧Share: 分享一篇有观点和思考的技术文章Algorithm Single Number https://leetcode.com/problems/single-number/ 1&#xff09;problem Given a non-empty arra…

vue项目(webpack+mintui),使用hbuilder打包app - 小小人儿大大梦想 - 博客园

一、配置config/index.js 本人没有配置index.js文件&#xff0c;就开始进行了打包&#xff0c;结果最终效果是页面空白&#xff0c;解决了空白&#xff0c;接着底部图标&#xff08;我是用的阿里巴巴图片&#xff09;资源找不到。所以配置这步比较重要。 &#xff08;1&#…

caffe介绍

转载于:https://www.cnblogs.com/Artimis-fightting/p/10945099.html

python-mysql 基础知识记录

cursor.fetchone() 与 cursor.fetchall() 如果查询结果为空&#xff0c;前者返回 None&#xff0c;后者返回[] 此时如用 len() 函数计算长度&#xff0c;前者报错&#xff0c;后者返回0 转载于:https://www.cnblogs.com/ZuoAn-xieyang/p/10097230.html

微服务之consul(一) - 诗码者 - 博客园

一、概述 consul是google开源的一个使用go语言开发的服务发现、配置管理中心服务。内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案&#xff0c;不再需要依赖其他工具&#xff08;比如ZooKeeper等&#xff09;。服务部署简单&#x…

C#动态加载dll,dll目录指定

<?xml version"1.0"?><configuration><startup> <supportedRuntime version"v4.0" sku".NETFramework,Versionv4.0"/></startup> <runtime> <assemblyBinding xmlns"urn:schemas-microsoft-com:a…

RestFramework之认证组件

一、认证组件的介绍 对于认证&#xff0c;我们一般有三种方式&#xff0c;即cookie, session,token, cookie,是将信息存放在客户端(浏览器上)&#xff0c;信息不安全&#xff1b;session,把信息放在服务器数据库中&#xff0c;但是要是信息量较大&#xff0c;对服务器的压力就会…