public override void VerifyRenderingInServerF<wbr>orm(Control
control)<br><wbr><wbr>{<br><wbr><wbr><wbr>//base.VerifyRenderingInServerF<wbr>orm
(control);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
<wbr></wbr>
public static void ExportToExcelForDataGrid<wbr>(DataGrid dg,string
aDate,string aFileName)<br><wbr><wbr>{<br><wbr><wbr><wbr><wbr>HttpContext.Current.Response.Clear();<br><wbr><wbr><wbr>HttpContext.Current.Response.Buffer=
true;<br><wbr><wbr><wbr>HttpContext.Current.Response.Charset="GB2312";<br><wbr><wbr><wbr>HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename="+
HttpUtility.UrlPathEncode(aFileName) +".xls");<br><wbr><wbr><wbr>HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.GetEncoding("UTF-7");<wbr><wbr><br><wbr><wbr><wbr>HttpContext.Current.Response.ContentType
= "application/ms-excel";<wbr><wbr><br><wbr><wbr><wbr><br><wbr><wbr><wbr>StringWriter
oStringWriter = new System.IO.StringWriter();<br><wbr><wbr><wbr>HtmlTextWriter
oHtmlTextWriter = new
System.Web.UI.HtmlTextWriter(oStringWriter);<br><wbr><wbr><wbr>dg.RenderControl(oHtmlTextWriter);<br><wbr><wbr><wbr><br><wbr><wbr><wbr>HttpContext.Current.Response.Write(oStringWriter.ToString());<br><wbr><wbr><wbr>HttpContext.Current.Response.End();<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
使用了AJAX的页面的GridView导出Excel,以及中文乱码问题解决<wbr><wbr></wbr></wbr>
2011-01-24
21:03:01|<wbr><wbr>分类:</wbr></wbr>
.Net
|<wbr><wbr>标签:</wbr></wbr>
|字号大中小<wbr></wbr>订阅
<wbr></wbr>1.首先在需要导出Excel的页面的<%@ Page Title=""
Language="C#" MasterPageFile="~Master.Master"
CodeBehind="List.aspx.cs" Inherits="List"
enableEventValidation<wbr><wbr>
="false"%>中加入enableEventValidation<wbr><wbr>
="false",这个很重要。</wbr></wbr></wbr></wbr>
2.在UpdatePannel中加入按钮的触发器<wbr><wbr></wbr></wbr>
</ContentTemplate><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
<Triggers><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
<asp:PostBackTrigger ControlID="export_excel"
/>//这里的ID指的是你单击导出Execel的控件,使这个控件回发。<wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
</Triggers><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
</asp:UpdatePanel><br>
3.<wbr><wbr>在按钮单击事件中写如下函数<wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>
protected void LinkButton2_Click(object sender, EventArgs e)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
GridView1.AllowPaging = false;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
string strStyle =
"<style>td{mso-number-format:"\\@";}</style>";<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Response.Clear();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Response.Buffer = true;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Response.Charset = "GB2312";<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Response.AppendHeader("Content-Disposition", "attachment;filename="
+ DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls ");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Response.ContentEncoding =
System.Text.Encoding.GetEncoding("GB2312");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Response.ContentType = "application/ms-excel ";<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
StringWriter oStringWriter = new StringWriter();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
HtmlTextWriter oHtmlTextWriter = new
HtmlTextWriter(oStringWriter);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
this.GridView1.RenderControl(oHtmlTextWriter);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Response.Write(strStyle);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Response.Write(oStringWriter.ToString());<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
//ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(),
"alert", "Response.Write(oStringWriter.ToString())", true);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Response.Flush();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Response.End();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
GridView1.AllowPaging =
true;<wbr><wbr><wbr><wbr><wbr><wbr><wbr>
}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
问题:字符编码?用哪个?UTF-8、UTF-7、GB2312<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
如果表中有中文,则推荐使用GB2312,Web.config中配置全球化:
<configuration>
<wbr><wbr><wbr>
<system.web><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
<compilation debug="true" targetFramework="4.0"
/><br><wbr><wbr><wbr><wbr><wbr>
<globalization requestEncoding="gb2312"
responseEncoding="gb2312"/>//添加<br><wbr><wbr><wbr>
</system.web></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
如果表中数字是以0开始的形如:08125...的话,使用string strStyle =
"<style>td{mso-number-format:"\\@";}</style>";然后Response.Write(strStyle);
如上面代码中所示。
4.同样的在后台代码中写如下代码,这行代码是要确认运行时指定的服务器控件呈现,一定要添加
<wbr><wbr><wbr><wbr>
public override void VerifyRenderingInServerF<wbr>orm(Control
control)<br><wbr><wbr><wbr> {<br><wbr><wbr><wbr> }<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
<wbr></wbr>
==============合计
#region qzf2011-12-29 自动创建列绑定datagrid 的合计
<wbr><wbr>public static void
DataGridItemDataBoundCal<wbr>cSumForAutoColumn(object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e,ArrayList
alSum)<br><wbr><wbr>{<br><wbr><wbr><wbr>if
(e.Item.ItemType == ListItemType.Header)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>for
(int i = 0 ;i <e.Item.Cells.Count;i++)<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>alSum.Add(0M);<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>else if
(e.Item.ItemType == ListItemType.Item ||<br><wbr><wbr><wbr><wbr>e.Item.ItemType
== ListItemType.AlternatingItem)<br><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr>for
(int i = 0 ;i <e.Item.Cells.Count;i++)<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>Decimal
dbl = 0M;<br><wbr><wbr><wbr><wbr><wbr>try<br><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr>dbl
= Decimal.Parse(e.Item.Cells[i].Text.Trim());<br><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr><wbr>catch<br><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr><wbr>alSum[i]
= Convert.ToDecimal(alSum[i]) + dbl;<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>else
if(e.Item.ItemType == ListItemType.Footer )<br><wbr><wbr><wbr>{<br><wbr><br><wbr><wbr><wbr><wbr>for
(int i = 0 ;i <e.Item.Cells.Count;i++)<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>try<br><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr>if
(Convert.ToDecimal(alSum[i])==0) continue;<br><wbr><wbr><wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr><wbr>e.Item.Cells[i].Text
= alSum[i].ToString();<br><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr><wbr>catch<br><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr>}<br><wbr><wbr>}<br><wbr><wbr>#endregion<br><wbr>}<br>
}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
相关推荐
两种方法将easyui datagrid 中的数据导出到Excel中,均以验证可以正常使用
private void daochu_Click(object sender, ... if (dataGrid.Columns[i].Visibility == System.Windows.Visibility.Visible)//只导出可见列 { dt.Columns.Add(dataGrid.Columns[i].Header.ToString());//构建表头
FileStream BookStream = new FileStream(saveFileDialog.FileName.ToString(), FileMode.Create, FileAccess.Write);//定义文件流 book.Write(BookStream);... MessageBox.Show("导出保存成功!");
flex中dataGrid导出数据到excel中,不存在乱码问题
easyui的datagrid数据excel导出
easyui datagrid 导出到excel,图解
落阳-利用NPOI将EasyuiDatagrid数据导出到Excel-ASP.NET MVC Demo
silverlight 将DataGrid数据导出EXCEL
把DataGridView导出到Excel文件的示例,己经经过调试,下载即可使用~
datagrid数据导出到excel函数,很好用
本程序可以实现以下功能: 1.DataGrid数据的显示、修改与保存 2.DataGrid数据导出Excel 3.DataGrid数据导出Word
DataGrid导出EXCEL的几个方法(WebControl)DataGrid导出EXCEL的几个方法(WebControl)DataGrid导出EXCEL的几个方法(WebControl)DataGrid导出EXCEL的几个方法(WebControl)
easyui-datagrid导出至Excel插件,中文没有乱码问题。
vb DataGrid导出excel例子,学习好资料,简单易懂
将datagrid数据导出到excel或者word
本资源主要是使用easyui控件,并结合ASP。net实现datagrid与数据库的连接,数据的增,删,改,分页操作,完成tree加载数据库数据,希望对开发初学者有所帮助
将silverlight中datagrid的数据导出为Excel表格.txt
从DATAGRID中导出数据到EXCELL国外代码
Jquery_easyui_datagrid_js导出excel 能够很好实现导出
DataGrid导出EXCEL的几个方法(WebControl).rar