jxl 打印excel,样式设置

2024-05-29 01:48
文章标签 excel 设置 打印 样式 jxl

本文主要是介绍jxl 打印excel,样式设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

运用jxl导出excel,并设置一些打印的样式:

public void outputExcel(HttpServletRequest request, HttpServletResponse response,String title)throws  IOException{//获取输出流 OutputStream os = response.getOutputStream(); HttpSession session=request.getSession();String oprator=(String)session.getAttribute("yhxm");//设置编码  response.setHeader("Content-disposition", "attachment; filename="+"cprdpxx"+".xls");// 设定输出文件头 request.setCharacterEncoding("utf-8");  //设置文件格式response.setContentType("application/vnd.ms-excel;charset=utf-8");//加标题    //标题字体   //设置单元格字体,位置jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.COURIER, 18, WritableFont.BOLD, true);  jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc); try {wcfFC.setAlignment(jxl.format.Alignment.CENTRE);wcfFC.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);    //字段字体   jxl.write.WritableFont wfc1 = new jxl.write.WritableFont(WritableFont.COURIER, 12, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);  jxl.write.WritableCellFormat wcfFC1 = new jxl.write.WritableCellFormat(wfc1);wcfFC1.setBorder(Border.NONE,BorderLineStyle.THIN,Colour.GRAY_50);//设置字体位置wcfFC1.setAlignment(jxl.format.Alignment.CENTRE);  wcfFC1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);////2013/7/17//标题字体jxl.write.WritableFont wfc3 = new jxl.write.WritableFont(WritableFont.COURIER, 14, WritableFont.BOLD, false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);  jxl.write.WritableCellFormat wcfFC3 = new jxl.write.WritableCellFormat(wfc3);wcfFC3.setBorder(Border.NONE,BorderLineStyle.THIN,Colour.GRAY_50);//设置字体位置wcfFC3.setAlignment(jxl.format.Alignment.CENTRE);  wcfFC3.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);  //查询结果字体  jxl.write.WritableCellFormat wcfFC2 = new jxl.write.WritableCellFormat();  wcfFC2.setAlignment(jxl.format.Alignment.CENTRE); wcfFC2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);   WritableWorkbook wbook = Workbook.createWorkbook(os);  //设置默认字体WritableFont font=new WritableFont(WritableFont.COURIER, 12, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK);WritableCellFormat cFormat = new WritableCellFormat(font);cFormat.setAlignment(jxl.format.Alignment.CENTRE);cFormat.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.GRAY_50);cFormat.setBackground(Colour.WHITE);//2013/7/17//设置信息头栏字体WritableFont font11=new WritableFont(WritableFont.COURIER, 12, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK);WritableCellFormat cFormat11 = new WritableCellFormat(font11);cFormat11.setAlignment(jxl.format.Alignment.CENTRE);cFormat11.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.GRAY_50);cFormat11.setBackground(Colour.WHITE);//写sheet名称 WritableSheet wsheet = wbook.createSheet("长江大学职称评审投票信息统计表", 0);//设置单元格默认列宽wsheet.getSettings().setDefaultColumnWidth(10);wsheet.getSettings().setDefaultRowHeight(350);//设置sheet页面水平打印wsheet.getSettings().setHorizontalCentre(true);//默认为横向打印//2013/7/17wsheet.setPageSetup(PageOrientation.LANDSCAPE.LANDSCAPE,PaperSize.A4,0.5d,0.5d);/*** lrr 2014-05-27 BEGIN* 功能描述:设置页码格式:第 X 页(共 X 页)*/
//			wsheet.setFooter("", "&P", "");//过时的方法··HeaderFooter footer = new HeaderFooter();··Contents contentsFooter = footer.getCentre();  contentsFooter.setFontSize(10);  contentsFooter.append("第 ");contentsFooter.appendPageNumber();contentsFooter.append(" 页 ( 共 ");contentsFooter.appendTotalPages();  contentsFooter.append(" 页 )");//设置打印标题行
//			wsheet.getSettings().setVerticalFreeze(3);SheetSettings ss=wsheet.getSettings();ss.setFooter(footer);// 设置页脚/*** lrr 2014-05-27 END* 功能描述:设置页码格式:第 X 页(共 X 页)*/
//			ss.setPrintTitles(0,2,0,10);ss.setPrintTitlesRow(0,2);//设置固定打印标题ss.setOrientation(PageOrientation.LANDSCAPE);wsheet.setPageSetup(PageOrientation.LANDSCAPE);//标题   wsheet.mergeCells(0, 0, 10, 0);/*** lrr 2014-05-24 改 BEGIN* 功能描述:修改投票信息统计表格式*/wsheet.addCell(new jxl.write.Label(0, 0, "长江大学职称评审投票信息统计表",wcfFC3));//设置统计表标题WritableFont font1=new WritableFont(WritableFont.COURIER, 12, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK);WritableCellFormat cFormat1 = new WritableCellFormat(font1);cFormat1.setAlignment(jxl.format.Alignment.RIGHT);cFormat1.setBorder(Border.NONE,BorderLineStyle.THIN,Colour.GRAY_50);cFormat1.setBackground(Colour.WHITE);wsheet.addCell(new jxl.write.Label(0,1,"评审日期:"+(new SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date())) ,cFormat1));//合计列/*** lrr 2014-05-24 改 END* 功能描述:修改投票信息统计表格式*/			/*** 以下为从数据库中查询数据添加到wsheet中*/	PersistenceManagerOfZcps pmoz=new PersistenceManagerOfZcps();String zsql="select count(*) from view_cprdp where 1=1 "+title;//总人数//String xb_n_sql="select count(*) from view_cprxx where xb='1'";//性别男 人数String hj="";//合计String sql="select * from view_cprdp where 1=1 "+title;
//			String year=request.getParameter("year");sql+="order by year_dm desc,zcbh asc,ls,ty_num desc,cpbh";
//            //System.out.println("sql="+sql);ResultSet rs=pmoz.executeQuery(sql);List<zc_cprdpxx> cprdp_list=new ArrayList<zc_cprdpxx>();int zs = 0;//参评人总人数int ns=0;//男参评人数try {while(rs.next()){zc_cprdpxx zp=new zc_cprdpxx();PersistenceManagerOfZcps pm=new PersistenceManagerOfZcps();zp.setYear(rs.getString("year_mc")==null?"":rs.getString("year_mc").trim());zp.setCpbh(rs.getString("cpbh")==null?"":rs.getString("cpbh").trim());zp.setCpxm(rs.getString("cpxm")==null?"":rs.getString("cpxm").trim());zp.setLxdh(rs.getString("lxdh")==null?"":rs.getString("lxdh").trim());zp.setTy_num(rs.getString("ty_num")==null?"":rs.getString("ty_num").trim());zp.setBty_num(rs.getString("bty_num")==null?"":rs.getString("bty_num").trim());zp.setQq_num(rs.getString("qq_num")==null?"":rs.getString("qq_num").trim());zp.setSftg(rs.getString("sftg")==null?"":rs.getString("sftg").trim());zp.setLs(rs.getString("ls")==null?"":rs.getString("ls").trim());zp.setZwm(rs.getString("zwm_mc")==null?"":rs.getString("zwm_mc").trim());//2013/7/21zp.setZcbh(pm.getPureCode_zcm(rs.getString("zcbh")==null?"":rs.getString("zcbh").trim()));	zp.setCprzt(pm.getPureCode("code_zczt", rs.getString("zcbh").substring(1, 2)));pm.close();//zp.setNl(rs.getString("nl")==null?"":rs.getString("nl").trim());cprdp_list.add(zp);				}rs=pmoz.executeQuery(zsql);while(rs.next()){zs=rs.getInt(1);}rs.close();}catch (SQLException e) {os.close();// TODO Auto-generated catch blockthis.cwts("导出失败,请稍后重试!", response);e.printStackTrace();}finally{pmoz.close();//关闭数据连接}//hj="评委总人数为:"+String.valueOf(zs)+"     性别        男:"+String.valueOf(ns)+"   女:"+String.valueOf(zs-ns);wsheet.mergeCells(0, 1, 10, 1);//合并0到10单元格//wsheet.addCell(new jxl.write.Label(0,1,hj ,cFormat));//合计列// 设置固定的打印标题//2013/7/17wsheet.getSettings().setPrintArea(0, 2, 0,7);
//		SheetSettings setting = wsheet.getSettings();  
//		setting.setPrintTitlesRow(0, 3); int i = 0;int j=0;//String[] colum={"年度","参评人编号","单位名称","参评人姓名","性别","申报职称级别","申报职称名称"};//2013/7/17修改String[] colum={"年度", "参评人编号","工作单位","参评人姓名", "申报职称","申报状态","轮数","同意数","不同意数","弃权数","是否通过"};for (i = 0; i <11; i++) {   // 加入行字段名    wsheet.addCell(new jxl.write.Label(i, 2, colum[i],      cFormat11));} for(i=3;i<cprdp_list.size()+3;i++){wsheet.addCell(new jxl.write.Label(0,i, cprdp_list.get(i-3).getYear(),      cFormat));wsheet.addCell(new jxl.write.Label(1,i, cprdp_list.get(i-3).getCpbh(),      cFormat));wsheet.addCell(new jxl.write.Label(2,i, cprdp_list.get(i-3).getLxdh(),      cFormat));wsheet.addCell(new jxl.write.Label(3,i, cprdp_list.get(i-3).getCpxm(),      cFormat));wsheet.addCell(new jxl.write.Label(4,i, cprdp_list.get(i-3).getZwm(),      cFormat));wsheet.addCell(new jxl.write.Label(5,i, cprdp_list.get(i-3).getCprzt(),      cFormat));wsheet.addCell(new jxl.write.Label(6,i, cprdp_list.get(i-3).getLs(),      cFormat));wsheet.addCell(new jxl.write.Label(7,i, cprdp_list.get(i-3).getTy_num(),      cFormat));wsheet.addCell(new jxl.write.Label(8,i, cprdp_list.get(i-3).getBty_num(),      cFormat));wsheet.addCell(new jxl.write.Label(9,i, cprdp_list.get(i-3).getQq_num(),      cFormat));wsheet.addCell(new jxl.write.Label(10,i, cprdp_list.get(i-3).getSftg(),      cFormat));} wsheet.mergeCells(0, i, 10, i);//合并0到10单元格/*** lrr 2014-05-24 增 BEGIN* 功能描述:增加四行:1.监票人 2.评审委员会主任*/wsheet.addCell(new jxl.write.Label(0,i,"制表人:"+oprator ,cFormat1));//合计列i = i+1;wsheet.mergeCells(0, i, 10, i+1);//合并两行并同时合并单元格wsheet.addCell(new jxl.write.Label(0,i,"监票人:       " ,cFormat1));//合计列i = i+2;wsheet.mergeCells(0, i, 10, i+1);//合并两行并同时合并单元格wsheet.addCell(new jxl.write.Label(0,i,"评审委员会主任:       " ,cFormat1));//合计列/*** lrr 2014-05-24 增 END* 功能描述:增加两行:1.监票人 2.评审委员会主任*/wbook.write();   wbook.close();  } catch (WriteException e) {// TODO Auto-generated catch blocke.printStackTrace();//this.cwts("导出失败,请稍后重试!", response);} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();//this.cwts("导出失败,请稍后重试!", response);}finally{  try{os.close();} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();//this.cwts("导出失败,请稍后重试!", response);}}}	

 相应的jxl.jar在附件中可下载。

 

WritableSheet.mergeCells(0, 0, 0, 1);//合并单元格,第一个参数:要合并的单元格最左上角的列号,第二个参数:要合并的单元格最左上角的行号,第三个参数:要合并的单元格最右角的列号,第四个参数:要合并的单元格最右下角的行号

这篇关于jxl 打印excel,样式设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1012304

相关文章

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

Spring MVC如何设置响应

《SpringMVC如何设置响应》本文介绍了如何在Spring框架中设置响应,并通过不同的注解返回静态页面、HTML片段和JSON数据,此外,还讲解了如何设置响应的状态码和Header... 目录1. 返回静态页面1.1 Spring 默认扫描路径1.2 @RestController2. 返回 html2

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

使用Python处理CSV和Excel文件的操作方法

《使用Python处理CSV和Excel文件的操作方法》在数据分析、自动化和日常开发中,CSV和Excel文件是非常常见的数据存储格式,ython提供了强大的工具来读取、编辑和保存这两种文件,满足从基... 目录1. CSV 文件概述和处理方法1.1 CSV 文件格式的基本介绍1.2 使用 python 内

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch