`
fireinjava
  • 浏览: 477084 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

jsp导出excel jxl

    博客分类:
  • Java
阅读更多

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 。。。%>出现一次就是一空行....

 

共享、备忘...

分享到:
评论
1 楼 sunbinovic 2014-03-06  
有没有demo给我下载,我部署不来呢亲

相关推荐

    jxl导出excel支持模板和非模板

    利用JXL技术支持模板和非模板的表格导出

    JXL导出Excel数据表

    封装了一个简单易用、通用、动态的从数据库导出到Excel的方法,可以动态的指定导出那些列,显示什么名字,按什么顺序显示;支持本地文件存储和JSP/Servlet文件下载。

    mvc,jxl中导出excel在jsp页面中

    代码都测试过,自己写的,实现了简单功能,Mvc其他功能自己实现,和导出excel功能关联很少

    jsp导出Excel

    使用JSP操作Excel有三中方法 第一种方法:静态方法生成Word和Excel文档 第二种方法:如何使用POI组件操作Excel 地三种方法:使用JXL组件操作Excel

    js导出excel

    通过js和jxl导出jsp页面的table表格到excel,兼容所有浏览器及复杂的table布局

    EXCEL导入导出demo

    本例实现使用jxl实现jsp对excel导入和导出的功能 欢迎大家使用

    JSP动态输出Excel及中文乱码的解决

    最近在网上看到一个用java来操纵excel的open source,在weblogic上试用了一下,觉得很不错,特此向大家推荐一下。  首先去http://www.andykhan.com/jexcelapi/index.html下载最新的JExcelApi,把jxl.jar置于你的...

    java导出Excel

    这段时间研究Excel格式的导出,这个项目我用了三种方式将后台查询出来的数据导出Excel格式的通用方法

    Java生成和操作Excel文件

    因为它是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。  下载:  官方网站http://www.andykhan.com/jexcelapi/下载新版本(本人下的是jexcelapi_2_6_12.tar.gz,...

    企业信息管理系统

    该系统涵盖了企业管理的各个方面,使用众多J2EE的新技术,如javamail,ajax,displaytag分页,jxl,poi 导出excel, word 报表 等等。

    jspjboa系统

    jsp SSH开发jboa系统 实现报销单月度统计 饼状图绘制 导出Excel表报销单 附加sql数据库角本 sql server2008数据库

    Java_Web开发实战1200例第1卷.part2

    21.1 应用JXL组件操作Excel 776 21.2 应用POI组件操作Excel 807 第22章 报表与打印 829 22.1 Web打印 830 22.2 利用Word打印报表 833 22.3 利用Excel打印报表 838 22.4 应用WebBrowser+CSS套打邮寄 22.5 打印库存...

    Java_Web开发实战1200例第1卷.part3

    21.1 应用JXL组件操作Excel 776 21.2 应用POI组件操作Excel 807 第22章 报表与打印 829 22.1 Web打印 830 22.2 利用Word打印报表 833 22.3 利用Excel打印报表 838 22.4 应用WebBrowser+CSS套打邮寄 22.5 打印库存...

    SOAOFFICE - 微软 OFFICE 中间件

    24.需要在web页面导入导出Excel单元格数据的; ……… SOAOFFICE中间件包括三个内置组件:SOAExcel、SOAWord、SOAPowerPoint。另外企业版还包括支持PDF文件的SOAPDF组件。 SOAOFFICE 中间件采用标准HTTP传输协议,...

Global site tag (gtag.js) - Google Analytics