- 浏览: 3462244 次
- 性别:
- 来自: 苏州
-
文章分类
最新评论
-
sonichy:
Qt5改动很多,要改改了。
基于QItemDelegate的例子1 SpinBoxDelegate -
我的主页6:
楼主,2.2子查询的分页方式:SELECT * FROM ar ...
Mysql 分页语句Limit用法 -
liguoqi:
非常感谢楼主的用心指导,工具以及图片例子都提供了 赞!
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载 -
liguoqi:
问下这个图片怎么解压损坏呀
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载 -
liguoqi:
楼主讲解的非常详细,还附带工具和图片例子,非常感谢
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载
最近生成Excel表格,稍微得到一点新的体会,特此更新自己开发时候的版本。
开发工具:VS2005
数据库:oracle10.1
浏览器:firefox3.5.9
第一步,web层aspx文件 需要载入附件中的ExportGridToExcel.js(注释的地方可以改变表Excel表格最后的展示样式)。
载入方法:在<head></head>之间写入代码:
<!--导出excel表格脚本--> <script type="text/javascript" src="../../../Js/Common/ExportGridToExcel.js"></script>
第二步,基本参数初始化,准备调用导出Excel表格函数ExportExcel(componentsGridPanel, config,"GetComponentsBillList");(这个方法大家可以自己定义参数)
//==导出Excel配置==// var config = { store: null,//因为后续可能需要处理分页,因此此处一般不直接传递GridPanel的数据源 title: '',//标题 checkId: '', storageName: '', beginTime: '', endTime: '', checker: '' }; //盘点单基本信息设置 config.title = title; config.checkId = checkId; config.storageName = storageName; config.beginTime = beginTime; config.endTime = endTime; config.checker = checker; //导出Excel表格,生成盘点计划中的部件盘点单 公共函数 CheckWarehouseView.js文件中 //属性解释:gridPanel名,基本配置信息,store后台方法 ExportExcel(componentsGridPanel, config,"GetComponentsBillList");
第三步,函数ExportExcel(gridPanel, config,operate)//原先有部分浏览器的判断,导致导出的文件中文名无法传递。去掉后,到目前没出现安全问题。
//==导出Execl表格==// //gridPanel:当前grid,config:生成单配置,operate:后台url调用的方法 function ExportExcel(gridPanel, config,operate){ if (gridPanel) { var tmpStore = gridPanel.getStore(); var tmpExportContent = ''; var tmpAllStore = new Ext.data.GroupingStore({//重新定义一个数据源 proxy: tmpStore.proxy, reader: tmpStore.reader }); tmpAllStore.load({//获取所有数据 params: { secondLevelStorageId: secondLevelStorageId, thirdLevelStorageId: thirdLevelStorageId, operate: operate } }); tmpAllStore.on('load', function(store){ config.store = store; tmpExportContent = gridPanel.getExcelXml(false, config);//此方法用到了一中的扩展 if (!Ext.fly('frmDummy')) { var frm = document.createElement('form'); frm.id = 'frmDummy'; frm.name = id; frm.className = 'x-hidden'; document.body.appendChild(frm); } Ext.Ajax.request({ url: '../../../Url/Common/ExportServicePage.aspx',//将生成的xml发送到服务器端 method: 'POST', form: Ext.fly('frmDummy'), callback: function(o, s, r){ //alert(r.responseText); }, isUpload: true, params: { ExportContent: tmpExportContent, ExportFile: config.storageName+"-"+config.title+ '.xls' } }); }); } };
第四步,后台页面ExportServicePage.aspx代码(去掉编码处理,这样可以避免传到客户端的文件为乱码)
//=============================================================================== // Copyright (C) 2010 XXXX有限公司。版权所有。 //=============================================================================== // // 文件名:ExportServicePage.aspx.cs // // 文件描述:导出Excel表格 // // // 创建人:truman // 创建时间:2010年3月24日 // // 修改人: // 修改时间: // 修改描述: //=============================================================================== using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; namespace AfcMaintenanceSystem.Url.Common { public partial class ExportServicePage : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request["ExportContent"] != "") { string tmpFileName = "export.xls"; string tmpContent = Request["ExportContent"];//获取传递上来的文件内容 if (Request["ExportFile"] != "") { tmpFileName = Request["ExportFile"];//获取传递上来的文件名 //tmpFileName = System.Web.HttpUtility.UrlEncode(Request.ContentEncoding.GetBytes(tmpFileName));//处理中文文件名的情况 } Response.Write("&lt;script&gt;document.close();&lt;/script&gt;"); Response.Clear(); Response.Buffer = true; Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "attachment;filename=\"" + tmpFileName + "\""); Response.Charset = ""; this.EnableViewState = false; System.IO.StringWriter tmpSW = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter tmpHTW = new System.Web.UI.HtmlTextWriter(tmpSW); tmpHTW.WriteLine(tmpContent); Response.Write(tmpSW.ToString()); Response.End(); } } } } }
在界面成gridPanel中设计好布局的格式,经过如上几步代码,即可下载到自己想要格式的Excel文件。
web界面展示:
Excel表格展示:
- ExportGridToExcel修改版.rar (3.9 KB)
- 下载次数: 508
评论
4 楼
qimo601
2012-04-28
qingzhishuishou 写道
params: {
14. secondLevelStorageId: secondLevelStorageId,
15. thirdLevelStorageId: thirdLevelStorageId,
16. operate: operate
17. }
里面的参数代表什么啊?老是报内存不够
14. secondLevelStorageId: secondLevelStorageId,
15. thirdLevelStorageId: thirdLevelStorageId,
16. operate: operate
17. }
里面的参数代表什么啊?老是报内存不够
这几个参应该只是两个Id值,和一个操作方法字符串
应该不是它占得内存
3 楼
qingzhishuishou
2012-04-20
params: {
14. secondLevelStorageId: secondLevelStorageId,
15. thirdLevelStorageId: thirdLevelStorageId,
16. operate: operate
17. }
里面的参数代表什么啊?老是报内存不够
14. secondLevelStorageId: secondLevelStorageId,
15. thirdLevelStorageId: thirdLevelStorageId,
16. operate: operate
17. }
里面的参数代表什么啊?老是报内存不够
2 楼
qimo601
2012-04-18
xiefeng 写道
很好,
可是数据量大,就出问题
100条数据就出问题,怎么回事呢
可是数据量大,就出问题
100条数据就出问题,怎么回事呢
额不好意思。。。已经两年多没用过Extjs了,完全忘记了。
当时我用的时候,是没有问题的。
欢迎您提供您的解决方法!
1 楼
xiefeng
2011-10-18
很好,
可是数据量大,就出问题
100条数据就出问题,怎么回事呢
可是数据量大,就出问题
100条数据就出问题,怎么回事呢
发表评论
-
更换博客地址告示
2012-12-03 18:56 2622更换博客地址告示 ... -
收款主页设计
2012-11-17 11:01 0文档信息 版权声明:自由转载-非商用-非衍生- ... -
10个精选国外免费空间
2012-11-12 16:06 6366最近想申请一个免费空间,发现国内基本没有。。。。唉。 ... -
长光所考博信息
2012-09-24 14:25 2734总结一下,以后有个奔头。。搞科研的收入太微薄了。唉。。。 ... -
The file contains a character that cannot be represented in the current code pag
2012-08-17 10:17 6366vs2008 打开网上下载的Qt项目,结果编译时无法通过,出 ... -
64位操作系统,编译程序出现X86和X64的冲突
2012-08-16 20:10 0问题1:1>QtGuid4.lib(QtGuid4.d ... -
通用日志系统开发【转】
2012-08-06 15:20 42601.前言 中大型软件项 ... -
U盘制作WinPE系统【转】
2012-07-27 11:36 2554不带光驱的笔记本的网友和没有光驱的台式机的网友如何安 ... -
博客文章标题横线框
2012-06-28 11:47 0分析 ... -
触摸屏介绍
2012-05-30 16:03 2006有一个项目,需要购买一台触摸屏设备。 了解一下触摸屏的基础知 ... -
有谁知道高速大数据量无线传输技术
2012-05-28 11:53 2548有谁知道高速大数据量无线传输技术? 想了解一下无线传输 ... -
自由在博客里插入广告,有钱你不赚吗???
2012-05-25 18:37 01、一直在ITeye里写技 ... -
自由在博客里插入广告,有钱你不赚吗???
2012-05-25 15:22 6669其实这些广告也没啥意 ... -
支持javascript的博客汇总
2012-05-25 09:27 2521写这篇文章的目的主要是为想在公共博客上布置广告的朋友提供一些参 ... -
支持js代码的博客有哪些?
2012-05-25 09:20 33401、支持js代码的博客谷歌博客, 雅虎奇摩,博客大巴,jimd ... -
VS2008无法下断点调试的原因
2012-05-02 11:18 19355VS2008单步调试时出错,原来的断点处显示一个空心圆加 ... -
VS2008无法下断点调试的若干解决办法
2012-05-02 09:19 4062我使用了第一种方法,暂时恢复了断点调试。 调试程 ... -
【转】串口通讯—通信协议
2012-02-29 00:11 2668转:http://cs.nju.edu.cn/y ... -
Ankhsvn 改名出错
2012-02-16 18:32 3198总结只改变文件名字大小写的最终解决方法。 这种只需要改 ... -
C++接口实现总结
2012-02-04 14:51 32987网上的例子,稍微有点错误。我给更改一下,附件上有源码!如有错误 ...
相关推荐
在EXTJS Grid中导出数据到Excel是一种常见的需求,它允许用户方便地处理和分析大量数据。EXTJS是一个强大的JavaScript库,专门用于构建富客户端Web应用程序,而Grid组件是其核心部分,用于展示和管理表格数据。在...
项目中的“ExtJs_Wcf_Linq_AllFeatureGrid_Edited_0809”文件可能包含了完整的示例代码,包括EXTJS Grid Panel的配置、WCF服务接口定义以及C#后台的数据处理逻辑。开发者可以通过阅读和学习这些代码,进一步了解如何...
本资源"ExtJs_ASPMVC_Batch_Operation.rar"正是这样一个实例,它展示了如何利用ExtJS的Grid组件与ASP.NET MVC框架实现批量操作,包括数据展示、添加、修改、删除以及导入导出Excel功能。 首先,ExtJS是一个...
-增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性Enabled="false",则此项变灰并且不会被选中(feedback:your568)。 -修正TreeNode的属性NavigateUrl不...
-增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性Enabled="false",则此项变灰并且不会被选中(feedback:your568)。 -修正TreeNode的属性NavigateUrl不...