zoukankan
html css js c++ java
GridView数据导出到Excel的类
今天碰到个问题,需要根据设置把GridView中的数据中的一页或全部导出到Excel表中,
故新写一个类,希望对各位友人有帮助。本类的基本难点说明中都已经做备注,有不明白
可以直接联系。
Code
/**/
///
<summary>
///
把Gridview中数据导入到Excel的类
///
</summary>
public
class
GridViewToExcel
{
public
GridViewToExcel()
{
//
//
TODO: 在此处添加构造函数逻辑
//
}
/**/
///
<summary>
///
///
把Gridview中数据导入到Excel中
///
</summary>
///
<param name="gv">
需要导出数据的Gridview
</param>
///
<param name="ds">
Gridview的数据源
</param>
///
<param name="strFileName">
默认的导出Excel的文件名
</param>
///
<param name="bolPart">
全部还是部分导出到Excel.部分:true. 全部:false
</param>
public
static
void
ConvertToExcel(GridView gv, DataSet ds,
string
strFileName,
bool
bolPart)
{
gv.AllowPaging
=
bolPart;
//
设置导出数据是全部还是部分
gv.DataSource
=
ds;
gv.DataBind();
for
(
int
i
=
0
; i
<
gv.Columns.Count; i
++
)
//
设置每个单元格
{
gv.Columns[i].ItemStyle.HorizontalAlign
=
HorizontalAlign.Left;
for
(
int
j
=
0
; j
<
gv.Rows.Count; j
++
)
{
gv.Rows[j].Cells[i].Attributes.Add(
"
style
"
,
"
vnd.ms-excel.numberformat:@;
"
);
}
}
System.IO.StringWriter sw
=
new
System.IO.StringWriter();
HtmlTextWriter htw
=
new
HtmlTextWriter(sw);
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Charset
=
"
GB2312
"
;
HttpContext.Current.Response.ContentEncoding
=
System.Text.Encoding.UTF7;
//
设置UTF8有时候出乱码
strFileName
+=
"
.xls
"
;
HttpContext.Current.Response.ContentType
=
"
application/ms-excel
"
;
HttpContext.Current.Response.AddHeader(
"
content-disposition
"
,
"
attachment;filename=
"
+
HttpUtility.UrlPathEncode(strFileName));
//
设置默认文件名
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
//
预防出现控件必须放在具有 runat=server 的窗体标记内的错误
Page page
=
new
Page();
HtmlForm form
=
new
HtmlForm();
gv.EnableViewState
=
false
;
page.EnableEventValidation
=
false
;
page.DesignerInitialize();
page.Controls.Add(form);
form.Controls.Add(gv);
page.RenderControl(htw);
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
}
}
查看全文
相关阅读:
Tire树的理解和应用
C语言:socket简单模拟http请求
C语言:关于socket的基础知识点
php中的ip2long和long2ip的理解
理解php中的pack/unpack/ord/chr
zlog学习笔记(mdc)
计算机工作的进行
期末总结
第十四周学习报告
第十三周学习报告
原文地址:https://www.cnblogs.com/zijinguang/p/1509564.html
最新文章
UISwitch
UITextView
UITextField
UIImageView
Button
UILabel
BIOS和CMOS的联系与区别
引用 模块编译Makefile模板
linux下I2C驱动
引用 xp系统引导修复(转载)
热门文章
【引用】Linux 内核驱动--多点触摸接口
c语言指针数组与数组指针
嵌入式工程师应看的书
嵌入式工程师经典面试题
电路图
C语言程序设计
用单链表实现一个模糊搜索, 待补充
通过bitmap对100w数字进行排序去重
通过trie树单词自动补全(二)
通过trie树实现单词自动补全
Copyright © 2011-2022 走看看