易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET(C#) DataSet数据导出到Excel

今天给客户做了个功能需要把网格数据(Gridview)导出成Execl,所以我去网上找了个代码 private void Export(string FileType, string FileName)
...{
try
...{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState = false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
grdSearch.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
}
catch (Exception err)
...{
DOMUtility.PopAlertWindow("导出Excel出错!错误原因:" + err.Message);
//return false;
}
}
但是这种方法的话只是把当前Gridview页导出到Excel,而客户需要把当前所以分页的数据导出到Excel,并且在客户端打开,所以想了想有几种方案:
1)将execl文件导出到服务器上,再下载。这样的话服务器中有多余的文件了。不通过
2)将DataSet中的数据导出Execl
private void DataTable2Excel(System.Data.DataTable dtData)
...{
System.Web.UI.WebControls.DataGrid dgExport = null;
System.Web.HttpContext curContext = System.Web.HttpContext.Current;
System.IO.StringWriter strWriter = null;
System.Web.UI.HtmlTextWriter htmlWriter = null;

if (dtData != null)
...{
curContext.Response.ContentType = "application/vnd.ms-excel";
curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;
curContext.Response.Charset = "";

strWriter = new System.IO.StringWriter();
htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);

dgExport = new System.Web.UI.WebControls.DataGrid();
dgExport.DataSource = dtData.DefaultView;
dgExport.AllowPaging = false;
dgExport.DataBind();

dgExport.RenderControl(htmlWriter);
curContext.Response.Write(strWriter.ToString());
curContext.Response.End();
}
}
先把datatable转换成DataGrid数据,然后通过DataGrid对象RenderControl的Response把数据返回给客户端,


相关文档:

Java调用C#的WebService实例三(实际应用)

/*
   本段代码在公司项目中实际远程调用第三方公司提供的C#开发WebService的示例
*/
/**
  * 登录游戏
  *
  * @param paramPN
  * @param paramTerraceID
  * @param paramSvrID
  */
 private String loginGame(String paramPN, HttpServletRequest req){
&n ......

c#和javascript交互

 c#和javascript交互
在asp.net开发中,经常会用到后台和前台的交互,就此总结了一点c#和javascript相互操作的方法
1.在后台c#代码中调用jacascript的方法
javascript代码:
<script type="text/javascript" language="javascript">
    function test()
   ......

asp.net 页面跳转的几种方法

 
1 response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转 ......

asp.net用户ASPNET登录失败的问题

 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
  异常详细信息: System.Data.SqlClient.SqlException: 用户 'XXXASPNET' 登录失败。
  今天将网站迁移过来后,就发现这个问题.经过摸索,发现原因是我们登录数据库的角色对数据库的权限不够. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号