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 ...
随机推荐
- 01-python基础知识
1.这两个参数是什么意思:*args,**kwargs?我们为什么要使用它们? 答案 如果我们不确定要往函数中传入多少个参数,或者我们想往函数中以列表和元组的形式传参数时,那就使要用*args:如果我 ...
- 用原生js来处理跨域的数据(jsonp)
说明总结: 1.ajax和jsonp其实本质上是不同的东西.ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加<script>标签来调用服务器提 ...
- 基于 Spring Cloud 完整的微服务架构实战
本项目是一个基于 Spring Boot.Spring Cloud.Spring Oauth2 和 Spring Cloud Netflix 等框架构建的微服务项目. @作者:Sheldon地址:ht ...
- 池建强 Mac Tips
摘自<MacTalk 人生元编程>,原文有130条,从中摘录出7条:大部分与 Terminal 相关 1. 终端说英语 在终端输入 " say hello" ,Mac ...
- fedora21 中lamp的搭建(测试没有问题)
LAMP Stands for Linux,Apache,MySQL and PHP. Most of the websites works with the above combination. T ...
- Django分页器和自定义分页器
一.自定义分页器 import copy class Pagination(): def __init__(self,request,current_page,all_data_num,each_pa ...
- ubuntu 远程登录服务器和服务器中下载代码
1.首先用远程登录:ssh 名称@地址 2.提示输入密码. 3.进入到你所要文件目录. 输入:tar cf 文件明.tar 你自己喜欢的文件/ 下载:scp erpAmazonAPI.tar 主机名称 ...
- Hibernate 加载策略得总结
Hibernate 加载策略得总结 加载策略(优化查询): 策略种类: 延迟加载: 等到使用的时候才会加载数据. 立即加载: 不管使用不使用,都会立刻将数据加载. 策略的应用: 类级别的加载策略. 关 ...
- Django之用户认证功能
前言 做web应用对登录做用户身份认证,然后设置session是必不可少的,因为我们就需要把有权限访问本站视图的用户,单独建一张表记录到数据库里: Django作为一个大而全的框架,已经为我们做好了这 ...
- 01二维矩阵中最大全为1的正方形maxSquare——经典DP问题(二维)
在一个二维01矩阵中找到全为1的最大正方形 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 以矩阵中每一个点作为正方形右下角点来处理,而以该点为右下角点的最大边长最多比 ...