mmkk's Weblog

dotnet and web skills
随笔 - 25, 评论 - 181, 引用 - 79

导航

关于

标签

每月存档

最新留言

广告

 

出于项目的需求,写了这样一个控件,使用起来很简单,只需要3句代码:

    exportExcel.FileType = TSCRMLiteWeb.SC.ExportFileType.Excel;
    exportExcel.ExportFileName = "currencyList";
    exportExcel.TargetControlID = "currencyContianer.gridCurrencyList";

需要说明的只有几点:

1.由于项目中所有需要导出内容的控件都是DataGrid,因此只针对对此控件的测试,满足需求先,其它就没有测试过了:)

2.属性ExportFileName不要扩展名,FileType属性指定以后,控件自身就会得到对应的扩展名了

3.最关键的地方就是TargetControlID,这是需要导出内容的服务器控件的“路径“,通常是DataGrid的ID值,如果你的DataGrid就直接在Page下面,那么TargetControlID的值就直接设为DataGrid的ID,如果DataGrid父亲控件不是Page,那么一直追朔到Page下的一级控件,比如上面的例子,currencyContainer就是一个Page下面的控件,gridCurrencyList的父亲控件是currencyContainer,他们之间用点号分开,看过代码后你就会知道是为什么了,就这些。这里是所有的代码:

ps:更新了一下代码,另外如果DataGrid中包含类似LinkButton这样的控件,绑定值的时候应该使用

<asp:LinkButton Text='"<%#DataBinder.Eval(Container,&#8220;columnName&#8220;)%>"'></asp:LinkButton>,而不要使用<asp:LinkButton><%#DataBinder.Eval(Container,&#8220;columnName&#8220;)%></asp:LinkButton>这样的形式,因为这样Text将不会被倒入Excel中

打印 | 张贴于 2004-09-21 11:17:00 | Tag:DotNet

留言反馈

#一键导出Word和Excel文件的简单服务器控件 编辑
http://blog.joycode.com/mmkk/archive/2004/09/21/34105.aspx

2007-04-18 09:13:00 | [匿名用户:bill1315]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
3ku
2006-08-12 11:07:00 | [匿名用户:bbs]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
解释清楚一点 ,大家都看不懂!
2005-08-18 16:35:00 | [匿名用户:TEst]
#re:一键导出Word和Excel文件的简单服务器控件 编辑
一键导出Word和Excel文件的简单服务器控件ooeess
2005-06-16 14:26:00 | [匿名用户:气味检测仪]
#re:一键导出Word和Excel文件的简单服务器控件 编辑
一键导出Word和Excel文件的简单服务器控件ooeess
2005-06-16 14:25:00 | [匿名用户:测汞]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
好的不得了!!!
还可以用在DataList上面的哦
2005-06-07 14:36:00 | [匿名用户:napoler]
#re:一键导出Word和Excel文件的简单服务器控件 编辑
^_~,pretty good!csharpsseeoo
2005-05-18 19:40:00 | [匿名用户:磁通计]
#mmkk的blog 编辑
Ping Back来自:blog.csdn.net
2005-04-30 13:50:00 | [匿名用户:lxhvc]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
其实有点郁闷哦
我看了半天也没看到有保存文件的代码
是不是还要在客户端代码里再写的啊
2005-04-18 20:30:00 | [匿名用户:豆子]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
exportExcel.ExportFileName = "currencyList";
中的currencyList是保存文件的路径名吗?
这些代码是不是就在.CS文件里的?
2005-04-18 20:19:00 | [匿名用户:豆子]
#re:一键导出Word和Excel文件的简单服务器控件 编辑
^_^,Pretty Good!
2005-04-16 05:42:00 | [匿名用户:粘度计]
#re:一键导出Word和Excel文件的简单服务器控件 编辑
^_^,Pretty Good!
2005-04-10 20:13:00 | [匿名用户:冲击试验机]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
能不能用文字把思路理一下啊???
2005-04-05 15:02:00 | [匿名用户:Showder]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
如果在DataGrid中加入了校验控件
<asp:TemplateColumn HeaderText="Quantity">
<ItemTemplate>
<asp:TextBox id=QuantityTextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Quantity") %>' MaxLength="2" style="width:50px;" />
<asp:RequiredFieldValidator runat="server" id=QuantityRequiredFieldValidator controlToValidate=QuantityTextBox errormessage='<%# DataBinder.Eval(Container, "DataItem.Description") %>' display=dynamic >*</asp:RequiredFieldValidator>
<asp:RangeValidator runat="server" id=QuantityRangeValidator controlToValidate=QuantityTextBox errormessage='<%# DataBinder.Eval(Container, "DataItem.Description") %>' display=dynamic type=integer maximumvalue=50 minimumvalue=0 >*</asp:RangeValidator>
</ItemTemplate>
</asp:TemplateColumn>
,出错!去掉后完全正常!
2004-12-23 10:23:00 | [匿名用户:Dibov]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
把控件入到页面,不是Button的形式?
2004-12-23 10:08:00 | [匿名用户:dibov]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
我还不会把上面的程序做成dll,不过最近老师就要我把东西做出来。唉。。。。
请好心人指点一下吧。:(
2004-11-25 22:55:00 | [匿名用户:phoenixsong]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
想问问详细一点的操作步骤,哪位大狭能帮帮忙解释一下呀?谢谢了
phoenixsong@buaa.edu.cn
2004-11-25 22:40:00 | [匿名用户:phoenixsong]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
thank u!:)
2004-11-16 08:37:00 | [匿名用户:mmkk]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
要配置excel权限 ,如何配置?能详细说说吗?出现以下错误,觉得应该是excel权限问题
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息: CS0122: 不可访问“reportweb.ToExcel.Button1_Click(object, System.EventArgs)”,因为它受保护级别限制

源错误:



行 11: <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
行 12: <form id="frm" runat="server">
行 13: <asp:Button id="Button1" runat="server" Text="Export to Excel" OnClick="Button1_Click"></asp:Button><BR>
行 14: <asp:Datagrid id="dg" runat="server" AutoGenerateColumns="True" AllowSorting="true" AllowPaging="true"
行 15: CellPadding="3" PageSize="3">


源文件: C:\Inetpub\wwwroot\reportweb\ToExcel.aspx 行: 13
2004-11-09 21:18:00 | [匿名用户:世纪风]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
如果要一起倒出,可能需要直接访问DataGrid的datasource,但是因为datasource很难确定,譬如是Customer Object Collection或者DataReader或者DataTable等等,或许你可以根据项目中使用的技术来写一个辅助方法倒出,如果你的Datasource非常一致,这样的Helper方法比上面提到的做法还更加简单.
2004-10-22 09:00:00 | [匿名用户:mmkk]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
对于分页的datagrid,不知有何更好的方法?你的方法只能导出当前页
2004-10-22 07:16:00 | [匿名用户:g51015]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
将原代码编译成为单独的dll,或者放入你的project中,可以自行修改Namespace,使用很简单,上面都解释了.唯一困惑的地方就是如果你的DataGrid控件是包含在Panel控件或者其他控件下面的时候,必须从父控件开始写下来,用.号分开,看上面的例子.
2004-09-27 15:43:00 | [匿名用户:mmkk]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
请问这个控件怎么使用啊,我用起不起作用,请问怎么定义?怎么调用控件里的单击事件?希望你们尽快回复,谢谢!

2004-09-27 11:07:00 | [匿名用户:青苹果]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
请问这个控件怎么使用啊,我用起不起作用,请问怎么定义?怎么调用控件里的单击事件?希望你们尽快回复,谢谢!
2004-09-27 11:06:00 | [匿名用户:青苹果]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
运行正常。
我只是测试了一下datagrid下的使用。
2004-09-24 14:25:00 | [匿名用户:carey]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
我做过dataset的,要配置excel权限
2004-09-22 17:00:00 | [匿名用户:peczar]
#re: 一键导出Word和Excel文件的简单服务器控件 编辑
如果可行的话,这是个不错的东西,
先收下,用到的时候再测试。。。
2004-09-21 18:09:00 | [匿名用户:破宝]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode.MVC引擎 0.5.1.0