jsp导出excel jxl

ExcelUtil .java

 

import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.format.VerticalAlignment;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WriteException;

public class ExcelUtil {
	/**
	 * 返回大标题格式
	 */
	public static WritableCellFormat createWcfTitle() {
		WritableFont wfc_big = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false,
				UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
		WritableCellFormat wcf_title = new WritableCellFormat(wfc_big);
		try {
			wcf_title.setBorder(Border.ALL, BorderLineStyle.THIN);
			wcf_title.setAlignment(Alignment.CENTRE);
			wcf_title.setVerticalAlignment(VerticalAlignment.CENTRE);
			wcf_title.setWrap(true);

		} catch (WriteException e) {
			e.printStackTrace();
		}
		return wcf_title;
	}

	/**
	 * 返回正文格式
	 */
	public static WritableCellFormat createWcfText() {
		WritableFont wfc_small = new WritableFont(WritableFont.ARIAL, 12, WritableFont.NO_BOLD, false,
				UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
		WritableCellFormat wcf_text = new WritableCellFormat(wfc_small);
		try {
			wcf_text.setBorder(Border.ALL, BorderLineStyle.THIN);
			wcf_text.setAlignment(Alignment.LEFT);
                        wcf_text.setWrap(true);
			wcf_text.setVerticalAlignment(VerticalAlignment.CENTRE);
		} catch (WriteException e) {
			e.printStackTrace();
		}
		return wcf_text;
	}
}

 

exportExcel.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@page import="java.io.*"%>
<%@page import="jxl.*"%>
<%@page import="com.xxx.ExcelUtil"%>

<%
	response.reset();
	response.setContentType("application/vnd.ms-excel;charset=UTF-8");
	response.setHeader("Content-Disposition", "attachment;filename=" + new String("Excel文件.xls".getBytes("gb2312"), "iso8859-1"));

	OutputStream os = response.getOutputStream();

	WritableWorkbook wwb = null;
	WritableCellFormat wcf_title = ExcelUtil.createWcfTitle();
	WritableCellFormat wcf_text = ExcelUtil.createWcfText();
	wwb = Workbook.createWorkbook(os);//将 WritableWorkbook 写入到输出流
	WritableSheet ws = wwb.createSheet("sheet1", 0);//创建第一个sheet
	ws.mergeCells(0, 0, 3, 0);//合并单元格

	Label lbl = null;
	lbl = new Label(0, 0, "大标题" + sumMonth, wcf_title);
	ws.addCell(lbl);

	lbl = new Label(0, 1, "列标题1", wcf_text);
	ws.addCell(lbl);
	lbl = new Label(1, 1, "列标题2", wcf_text);
	ws.addCell(lbl);
	lbl = new Label(2, 1, "列标题3", wcf_text);
	ws.addCell(lbl);
	lbl = new Label(3, 1, "列标题4", wcf_text);
	ws.addCell(lbl);

	for (int i = 0; i < 3; i++) //设置宽度
		ws.setColumnView(i, 15);

	os.flush();
	wwb.write();
	wwb.close();
	os.close();
%>

 

补充一重要的用法

合并单元格:

WritableSheet.mergeCells(int col1, int row1, int col2, int row2)

   单元格(col1,row1)到对角单元格(col2,row2)之间的合并为一个单元格

 单元格换行

用\n换行( 前置条件是wcf_text.setWrap(true);)
Label lbl = new Label(1, 3, "星\n期", wcf_text);

 

 

 

jsp导出txt

方法1同上用response.getOutputStream (跳行用\r\n)

response.setContentType("text/html;charset=UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + new String("文件名_".getBytes("gb2312"), "iso8859-1") + ".txt");
OutputStream os = response.getOutputStream();
os.write("abc".getBytes());

 

方法2

 response.setContentType("application/octet-stream");
 response.addHeader("Content-Disposition","attachment; filename=1.txt");
 out.print("First line text.\r\n");
 out.print("Second line.\r\n");

    <%@ page 。。。%>出现一次就是一空行....

 

或

共享、备忘...

如何使用 ABAP 代码调度一个 ABAP 程序,让其以后台作业的方式运行 笔者之前的教程,介绍了如何使用 SM36 一系列事务码,将一个 ABAP 程序,调度成以后台作业方式运行的详细步骤。 38. 如何让 ABAP 报表在后台作业的模式下运行 大家如果照着上述文章的步骤走一遍,会发现这些手动执行的步骤还是有些繁琐的。 有没有可能让这一切都自动化起来,即通过 ABAP 代码去完成呢?当然可以。 阅读详情

相关推荐

STM32F4_LCD显示汉字

LCD显示汉字和显示图片、数字、字符的原理是一样的,都是将汉字、图片、数字以及字符转换点阵,进而通过函数扫描点阵在LCD上显示;

light_2025的博客 1万+

JXL 操作Excel

JXL操作Excel的一些常用对象、方法,数据写入到Excel模版中 package com.zsd.tool; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; impo

zou493451860的专栏 484

智能座舱-语音交互系统

从什么是智能座舱、智能座舱的发展驱动因素、智能座舱的构成要素三个方面梳理我对智能座舱的基础认识之后,为了加深“智能座舱产品入门”课程中语音交互部分知识的理解,我从什么是语音交互、语音交互的底层技术、智能座舱的语音交互等方面,对智能座舱语音交互系统相关的知识进行了梳理与总结。

GUOSA0928的博客 1442

Java操作Excel之JXL (填充EXCEL模板)

在这里说说两种表单格式,第一种只需把数据填充就行了,第二种是循环输出数据。 第一种表单如下: //选择模板文件:      String realpath = "D:/download/test.xls";    try{    Workbook wb = Workbook.getWorkbook(new File(realpath));    //第二步:通过模板

wangliqiang1014的专栏 8346

java写一个多人线上聊天室

课程作业谔谔

weixin_51614848的博客 1136

21天教你学会PCIe专栏(21)--项目实例:构建一个基于 PCIe 的 NVMe SSD 阵列存储系统

构建一个高性能的 NVMe SSD 阵列存储系统,利用 PCIe 连接多块 NVMe SSD,实现高带宽和低延迟的数据存储。该系统将支持多种存储配置,如 RAID 0、RAID 1 和 RAID 5,以满足不同的性能和可靠性需求。通过上述步骤,你可以构建一个基于 PCIe 的 NVMe SSD 阵列存储系统。这个系统能够提供高带宽和低延迟的数据存储,并支持多种 RAID 配置以满足不同的性能和可靠性需求。

xiaoheshang_123的博客 200

jxl 解析格式中的border并将此border添加到另一个cell上

[code="java"] jxl.write.DateFormat df = new jxl.write.DateFormat( "yyyy-MM-dd hh:mm:ss"); jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat( ...

文艺IT女青年 397

无需SLAM建图,直接生成Gazebo仿真环境的二维代价地图的功能包pgm_map_creator适配ROS Noetic编译报错及解决方法

在ROS Noetic中,使用`pgm_map_creator`功能包直接生成Gazebo仿真环境的二维代价地图时,可能会遇到各种编译和运行错误。本篇博客详细解析了在适配ROS Noetic过程中常见的报错及其解决方法,包括Boost文件结构更新、C++版本兼容性、Gazebo函数名变更、链接库缺失以及protobuf文件加载错误。通过逐步排查和修改,如更换头文件路径、调整C++标准、更新CMakeLists.txt文件等,成功解决了这些问题,使得`pgm_map_creator`功能包能够顺利编译和运行。

慕羽★的博客 2261

jxl使用总结(三)

功能:写入/读取Excle,设置打印样式排版,锁定列与行,设置打印标题,给Excle加密。 JXL的打印设置在jxl.SheetSettings这个类中,我们可以通过方法Sheet(或者WritableSheet)#getSettings()获取。 1.页面 1.1方向 SheetSetting#setOrientation(PageOrientation po); 参数:  P

meifage的专栏 1261

华为OD机试真题 新系统2026-04-01 Java&Go【计算数列位置N的值】

如果其前面的M个元素中,存在值相同的元素,则该位置上的数值等于前面M个数中最大的数值与最小的数值之如果其前面的M个元素中,不存在值相同的元素,则该位置上的数值等于前面M个数中最大的数值与最小的数值之差;1、输入M、N两个数,则按照以下规则形成一个数列;两个整数,用逗号分割,分别表示M和N。一个整数,表示数列第N个位置上的数值。2、数列的前M个元素的值为1到M;请计算该数列第N个位置上的数值。N取值范围:1<= N<=50。M取值范围:3<=M<=10。

MISAYAONE的博客 2073

HQChart实战教程21 - uniapp app端K线图定制tooltip

HQChart实战教程21 - uniapp app端K线图定制tooltip序效果步骤2. 注册标题绘制事件3. 标题绘制回调函数格式说明eventdataobjtooltip显示函数完整代码HQChart代码地址 序 hqchartK线图内置一个tooltip, 如果需要定制一个tooltip, 我们可以通过注册绘制标题事件,来自己做一个div显示数据。 参考教程HQChart实战教程7-自定义显示手势点击K线显示信息 效果 步骤 在外部创建一个view,并在view里创建需要显示的信息字段. 例子里

小银 2561

使用jxl读写excel(jxl操作excel)的简单例子

jxl读写excel的简单例子jxltest.javaimport java.io.File;import java.io.FileOutputStream;import jxl.Workbook;import jxl.format.BorderLineStyle;import jxl.format.VerticalAlignment;import jxl.write.Label;im

Blog of Alex Wan 3135

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

基于JXL的通用Excel动态导出过程/可以在Servlet/JSP生成Excel并下载

最近在做一个J2EE项目,就用了下JXL,发现还挺好用。 于是乎封装了一个简单易用、通用、动态的从数据库导出到Excel的方法,可以动态的指定导出那些列,显示什么名字,按什么顺序显示;支持本地文件存储和JSP/Servlet文件下载。本方法包括两个类,Column是辅助类,Excel是主类:/** * 用于Excel导出的辅助类,映射数据结果集(ResultSet)内列名的元数据和Ex

流浪的咖啡的专栏 3750

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

纯JSP+工具类实现的jxl导出Excel

需求:根据查找到的数据集将其导出到excel中,前提:不用strtus框架、不能用servlet。 看到这个需求,没办法,只能弄一个超链接将所有查找数据集的参数传递到一个jsp页面去,在jsp页面再对参数进行封装,并查找数据库得到数据集list,将其传递到工具类中,对其进行处理,工具类使用jxl,并且使用到反射技术对其进行循环遍历,逐个写到excel表中。使用超链接并携带多个参数<a href="

路漫漫其修远兮 951

jsp页面导出用jxl方式导出数据到excel表格并下载保存(第二种直接用java类实现)

在做通过jsp页面动态取数据到excel表格,点击按钮下载保存功能,通过网上资源学习,自己用了简单的方式实现了功能。 保存数据到excel表格可以用POI以及jxl,我用的是jxl实现的。 1.下载jxl.rar包,复制后粘贴到工程lib目录下,会自动引入到Referenced Libraries外部包目录。 2.建一个点击按钮页面excelExportTest.jsp,这个很简单。

caisenbinbeida2009的专栏 7963

jxl jsp 导出excel

HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition","attachment;filename = " + URLEncod

taking_wang的专栏 780

java jsp JXL调用模版导出Excel

Java操作Excel之理解JXL--读取Excel 说到如何用JXL读取Excel文件, 现在来看看如何读取Excel模板然后把动态数据写入到模板以生成特定格式的Excel。 同样的思路,先来考虑下会涉及到那些对象,和上篇文章读取相比这里涉及到一个写入的步骤,所以JXL必然会提供一个对象 来支持写入,这就是WritableWorkbook。那么如何得到到这个类的实例,查看APIDoc发现W

Waitting for you 4631

将jsp页面的表格通过jxl的方式导出到excel中

最近在做公司销量的统计报表,需要导出功能,在网上找了很久也没找到合适的插件,由于现在的浏览器安全级别越来越高,普通的js导出都需要降低浏览器的安全级别,相对而言用户体验不是很好。于是考虑将页面的table数据通过java jxl导出。主要代码如下: 第一步:将页面表格的数据转换成json字符串 //初始化表格二维数组 var tableArray = new Array(); for(va

qiulinq的专栏 2557

jsp页面导出excel,jxl技术

总结一下,方便以后查看。说下自己的这个能够把页面表格导出成excel文件的总体印象:1需要导入jxl包,我的是jxl-2.6.12.jar2.写一个工具类,传三个参数:OutputStream os,String[] labels,List<String[]> rows; OutputStream os:要写入的地方,如果是放浏览器下载,os=response...

weixin_34344677的博客 177

用jxl 从jsp页面导出数据到excel表格并下载保存

用jxl生成Excel其实挺简单,只需声明三个变量:WritableWorkbook,WritableSheet,Label。 其中WritableWorkbook表示要生成的整个Excel文档, WritableSheet表示每个单元页,在excel文档的左下角不是可以创建多个页面吗, WritableSheet表示的即是这个。 Label表示的就是里面的每个单元格了。 一个完整实例如

zygzzp的专栏 4812

用JXL方式JSP导出Excel,前面的0消失问题

  当我们用&lt;%@page contentType="application/vnd.ms-excel; charset=UTF-8"%&gt;的方法导出jsp文件为excel时,如果导出的数据中有数字以0开头,则该0会被省略,为了保留这个处于首位的0,可以在表格的style中加入: style='mso-number-format:"\@";'    这样的话,导出的该表格中首位为...

流浪人,在路上 505

jsp导出excel文件,使用POI和jxl

导读:   jsp导出excel文件,使用POI和jxl   使用POI                     response.setContentType("APPLICATION/OCTET-STREAM");         response.setHeader("Content-Disposition",         "attachment; filename=/"test

2345

<转>java jsp JXL调用模版导出Excel

  前阵子接到一个项目,其中有个功能就需要把数据填充到 绘制好的EXCEL表单里面,在网上搜集了一些东西之后就开始做了,呵呵。 *********************************************先看看转载的这部分************************************************************* Java操作Excel之理解JXL...

夜深人静后的码农 946

使用jsp导出到excel汇总

设置excel的导出格式因为ms word和excel的文档都支持html文本格式,因此可以先用word或excel做好模版,另存为Web页,然后将该html改成jsp,将数据部分动态填入即可,不用很辛苦的调整格式 word页面只要在jsp头设置如下指令: excel如下:使用这种方式客户端必须安装有office软件,用户访问时将在ie中直接用word或excel打开该页面。此方法优势是模板设计、

激情人生 2万+
上一篇: Struts 提交对象集合 列表List
下一篇: 文件下载,一句话代码....
fireinjava
博客等级 码龄20年 5粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值