JXL生成Excel,并提供下载(1:生成Excel)
public String exportExcel(long id) {
String preeReviewName = "文件名";
String filePath = 路径名;
WritableWorkbook wwb =null;
try {
wwb = Workbook.createWorkbook(new File(filePath + preeReviewName +".xls"));
writeReviewGeneral(wwb, id);
//一个Excel表若有多个sheet页,可以加多个
wwb.write();
wwb.close();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return preeReviewName;
}
private void writeReviewGeneral(WritableWorkbook wwb,long id){
//获取数据库的数据
PreeReviewInfo result = preeReviewInfoDS.getPreeReviewInfo(id).getT();
//数据库各个字段的值放进List
List<String> list = new ArrayList<String>();
list.add(result.getPreeReviewName());//项目名称
list.add(result.getPreeReviewTarget());//评审对象
list.add(ReviewTypes.getDescription(result.getPreeReviewType()));//评审方式
list.add(result.getPreeReviewScale());//评审规模
list.add(result.getProcessName(););//项目当前阶段:所处过程
list.add(result.getPreeCompere());//主持人
list.add(result.getDocumentCreator());//作者
list.add(result.getPreeRegistrar());//记录员
list.add(result.getPreeActor());//评审员
list.add(result.getExpert());//关键资源:专家
try {
WritableSheet sheet = wwb.createSheet("评审概况",);
//设置头部格式
WritableCellFormat headerFormat = getExcelHeadStyle();
//设置内容格式
WritableCellFormat contentFormat = getExcelContentStyle();
for(int i =; i < list.size(); i++){
sheet.setColumnView(, );//列宽
sheet.setColumnView(, );//列宽
sheet.setRowView(i, ); //行高
sheet.addCell(new Label(,i,ExportSummary.reviewGeneral[i],headerFormat));
sheet.addCell(new Label(,i,list.get(i),contentFormat));
}
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
private WritableCellFormat getExcelHeadStyle(){
WritableFont font = new WritableFont(WritableFont.createFont("宋体"),
, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED);
WritableCellFormat headerFormat = new WritableCellFormat(NumberFormats.TEXT);
headerFormat.setFont(font);
try {
//内容水平居中显示
headerFormat.setAlignment(jxl.format.Alignment.CENTRE);
} catch (WriteException e) {
e.printStackTrace();
}
return headerFormat;
}
private WritableCellFormat getExcelContentStyle(){
WritableFont font = new WritableFont(WritableFont.createFont("宋体"),
, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);
WritableCellFormat contentFormat = new WritableCellFormat(NumberFormats.TEXT);
contentFormat.setFont(font);
try {
//允许换行
contentFormat.setWrap(true);
} catch (WriteException e) {
e.printStackTrace();
}
return contentFormat;
}
JXL生成Excel,并提供下载(1:生成Excel)的更多相关文章
- JXL生成Excel,并提供下载(2:提供下载)
实现效果: 项目中使用JXL生成Excel,使生成的Excel可以让用户下载,如下图 一.生成Excel 二.提供下载 实现思路: 1.页面使用form表单提交方式(Ajax提交方式,我这里不行) 2 ...
- .net生成Excel,并下载
生成Excel的方式有很多种,这里记录两个最简单的: 1.将数据保存为html,然后输出到客户端,保存为Excel文件: 2.通过\t\n生成字符串,然后输出到客户端,保存为Excel. 以上两者的原 ...
- php生成csv文件并提供下载及相关注意事项
1.生成文件过程略,只要逗号分割就可以了 2.提供下载加上如下代码: header("Content-type: application/octet-stream"); heade ...
- java利用poi生成excel文件后下载本地
1.该功能需要poi的jar包,链接: http://pan.baidu.com/s/1migAtNq 密码: 38fx. 2.首先新建一个实体类,用以存放单个数据 public class Test ...
- java实现点击查询数据生成excel文件并下载
须先导入关键maven包 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi& ...
- ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据
ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...
- 杂项收集,包括-发邮件、二维码生成、文件下载、压缩、导出excel
本篇就最近工作解决的问题做个代码收集.包括以下几个方面:发邮件.二维码生成.文件下载.压缩.导出excel.有一种可用的解决方法就好,不求全面,不求原理. 1.发邮件: 命名空间:System.Net ...
- 使用Aspose.Cell控件实现Excel高难度报表的生成(三)
在之前几篇文章中,介绍了关于Apsose.cell这个强大的Excel操作控件的使用,相关文章如下: 使用Aspose.Cell控件实现Excel高难度报表的生成(一) 使用Aspose.Cell控件 ...
- 懒人小工具:自动生成Model,Insert,Select,Delete以及导出Excel的方法
在开发的过程中,我们为了节约时间,往往会将大量重复机械的代码封装,考虑代码的复用性,这样我们可以节约很多时间来做别的事情.最近跳槽到一节webform开发的公司,主要是开发自己公司用的ERP.开始因为 ...
- 懒人小工具1:winform自动生成Model,Insert,Select,Delete以及导出Excel的方法
懒人小工具2:T4自动生成Model,Insert,Select,Delete以及导出Excel的方法 github地址:https://github.com/Jimmey-Jiang/J ...
随机推荐
- Django - Python3 配置 MySQL
在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装 具体安装使用方法,可参考 Python3 - MySQL适配器 PyMySQL Django 如何链接 MySQL 数据库, 需要在 ...
- 生成pyd文件时提示“Unable to find vcvarsall.bat”的问题
本文内容 Unable to find vcvarsall.bat的问题描述 问题分析 总结 一.问题描述 我们在windows下通过pip安装一些外部Python 模块(比如,pycrypto)时通 ...
- 两排序数组的中位数 Median of Two Sorted Arrays
2018-11-18 23:33:28 问题描述: 问题求解: 这个问题是一个比较有难度的可以使用二分搜索法求解的问题,如果采用朴素的解法进行merge再找中位数的话,其时间复杂度为O(n1 + n2 ...
- 数据库:Mysql中“select ... for update”排他锁分析
Mysql InnoDB 排他锁 用法: select … for update; 例如:select * from goods where id = 1 for update; 排他锁的申请前提:没 ...
- 2017-2018-2 20165303 实验二《Java面向对象程序设计》实验报告
实验一 实验要求 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 完成单元测试的学习 提交最后三个JUnit测试用例(正常情况, ...
- OpenVPN参数详解
一般选项: –config file : 从file中读取配置选项. –help : 显示选项. –version : 显示版权和版本信息. 隧道选项: –local host : 本地主机名或IP地 ...
- 20190104xlVBA_在课表里标记自己的课程
Sub TagMyCourses() Const HEAD_ROW = 3 With ActiveSheet endrow = .Cells.Find("*", .Cells(1, ...
- CentOS7.3将网卡命名方式设置为传统方式
CentOS7.3将网卡命名方式设置为传统方式 生产环境可能拥有不同系列的操作系统,比如,既有CentOS6系列,也有CentOS7系列的系统,而CentOS6和CentOS7在网卡命名方面有着较大区 ...
- 迭代器与泛型for
迭代器与closure function allwords() local line=io.read() return function() while line do local s,e=strin ...
- python使用MySQLdb模块连接MySQL
1.安装驱动 目前有两个MySQL的驱动,我们可以选择其中一个进行安装: MySQL-python:是封装了MySQL C驱动的Python驱动:mysql-connector-python:是MyS ...