w_e_ibo:
http://t.cn/zjqEaRh
http://weibo.com/liao27
先看效果图:
点击导出Excel按钮后,可以选择打开,或者保存,我这里选择直接打开:
打开的效果图:
然后设定隐藏列(密码,年龄):
然后再导出Excel:
这个Demo采用了的技术包括 :
Struts 1.2 + Spring 2.0 + Hibernate 3.2 + Ext 2.1 + MSSQL2000
说明:
Demo导出方法是简单方便,但是如果你的计算机没有安装Office(Excel)则无法正常导出文件.Ext获得Grid中当前所有显示的列,通过window.open()弹出一个新的窗体来执行请求并把列名作为一个字符串参数传递,请求到了Action执行完转到一包含了
<%@ page language="java" contentType="application/vnd.ms-excel; charset=GBK"%>
的jsp页面进行遍历.页面执行完后会自动提示保存或者就打开文件.
下面是相关的jar包.spring 是 2.0,箭头所指的jar包为 Struts用来处理返回给EXT Grid 的 JSON数据.附件中有保留.
如果有更好的方法希望大家能够共享,多多交流学习.提提大家的看法或意见!
数据初始化:
先建立数据库 名称:test
然后运行org.lhq.test.ExportDB 类即可初始化数据
或者执行下面脚本(MSSQL2000)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[t_user]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[t_user]
GO
CREATE TABLE [dbo].[t_user] (
[userid] [int] IDENTITY (1, 1) NOT NULL ,
[username] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[password] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[age] [int] NULL ,
[phone] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[t_user] WITH NOCHECK ADD
PRIMARY KEY CLUSTERED
(
[userid]
) ON [PRIMARY]
GO