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

相关文章

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

小白也能轻松上手! 路由器设置优化指南

《小白也能轻松上手!路由器设置优化指南》在日常生活中,我们常常会遇到WiFi网速慢的问题,这主要受到三个方面的影响,首要原因是WiFi产品的配置优化不合理,其次是硬件性能的不足,以及宽带线路本身的质... 在数字化时代,网络已成为生活必需品,追剧、游戏、办公、学习都离不开稳定高速的网络。但很多人面对新路由器

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

SpringBoot集成EasyPoi实现Excel模板导出成PDF文件

《SpringBoot集成EasyPoi实现Excel模板导出成PDF文件》在日常工作中,我们经常需要将数据导出成Excel表格或PDF文件,本文将介绍如何在SpringBoot项目中集成EasyPo... 目录前言摘要简介源代码解析应用场景案例优缺点分析类代码方法介绍测试用例小结前言在日常工作中,我们经

Java实现预览与打印功能详解

《Java实现预览与打印功能详解》在Java中,打印功能主要依赖java.awt.print包,该包提供了与打印相关的一些关键类,比如PrinterJob和PageFormat,它们构成... 目录Java 打印系统概述打印预览与设置使用 PageFormat 和 PrinterJob 类设置页面格式与纸张

SpringBoot+EasyPOI轻松实现Excel和Word导出PDF

《SpringBoot+EasyPOI轻松实现Excel和Word导出PDF》在企业级开发中,将Excel和Word文档导出为PDF是常见需求,本文将结合​​EasyPOI和​​Aspose系列工具实... 目录一、环境准备与依赖配置1.1 方案选型1.2 依赖配置(商业库方案)二、Excel 导出 PDF

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并