请问如何用c#将DataGrid里资料导到Excel??
解决方案 »
- Winform 桌面应用使用vb(.ocx)ActiveX
- C# 中类,抽象类和接口的区别,以及调用的方法
- C/S结构的程序,服务器和客户端分别在不同的电脑上运行速度比在同一台电脑上速度慢非常多
- 找到的好代码,一定要分享!!!
- TreeView和第三方控件TreeList的动态绑定问题
- listbox绑定数据的问题
- axWebBrowser,如何实现象IE的"编辑"的功能????
- 怎样用一个窗体中事件去改写另外一个窗体中的控件的属性???
- 如何在C#中得到一个oracle序列的值(千万不要告诉我,插入数据苦,再查出来),我要的是还没有插入数据就取出来的
- 字符串如何才能转换成byte[]?
- [散分]怎样把数据库表中的数据写到到EXCEL表中?
- 在 .Net2005 上怎样使用 Flash 做程序界面
public void ToExcel(System.Web.UI.Control ctl)
{
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
HttpContext.Current.Response.Charset ="UTF-8";
HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
HttpContext.Current.Response.C;//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
ctl.Page.EnableViewState =false;
System.IO.StringWriter tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}调用:
private void btnExcel_Click(object sender, System.EventArgs e)
{
ToExcel(this.DataGrid1);
}
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
string _today = string.Format("{0:yyyyMMdd}", DateTime.Now.Date);
if (ViewState["leaderName"] == null)
{
Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode("标题") + "-" + _today + ".xls");
}
else
{
Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode("标题") + "-" + Server.UrlEncode(ViewState["leaderName"].ToString()) + "-" + _today + ".xls");
}
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); ///
Repeater rep = rep_Jourey;
rep.Controls[0].FindControl("delHead").Visible = false;
rep.Controls[0].FindControl("modifyHead").Visible = false;
//隐藏修改 删除
//if (!Bussiness.IsManager(this))
//{
foreach (RepeaterItem item in rep.Items)
{
if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
{
//item.FindControl("null1").Visible = false;
//item.FindControl("null2").Visible = false;
//item.FindControl("null3").Visible = false;
//item.FindControl("null4").Visible = false;
//item.FindControl("null5").Visible = false;
//item.FindControl("null6").Visible = false;
//item.FindControl("null7").Visible = false;
//item.FindControl("null8").Visible = false;
//item.FindControl("null9").Visible = false;
//item.FindControl("null10").Visible = false;
//item.FindControl("null11").Visible = false;
item.FindControl("hideID").Visible = false;
Repeater rep_in = (Repeater)item.FindControl("rep_in");
foreach (RepeaterItem itemIn in rep_in.Items)
{
if (itemIn.ItemType == ListItemType.Item || itemIn.ItemType == ListItemType.AlternatingItem)
{
itemIn.FindControl("del").Visible = false;
itemIn.FindControl("modify").Visible = false;
}
}
}
}
//}
rep.RenderControl(oHtmlTextWriter);
/// Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
} public override void VerifyRenderingInServerForm(Control control)
{
//必须加上这段
}
自己删除不必要的代码