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();
}
}
查看全文
相关阅读:
hdu 4358 Boring counting 树状数组
hdu 4501 小明系列故事——买年货 多重背包
hdu 4503 湫湫系列故事——植树节 水题
hdu 4031 Attack 树状数组
技巧心得:如何解除运行office软件的时候弹出 正在安装 缺少pro11.msi对话框
读书札记:VC++学习之Windows程序运行原理
读书札记:7天搞定C语言(二)
视频教程:计算器制作MFC
读书札记:knowledge and Virtue
技巧心得:各大搜索免费登记入口个人门户推广
原文地址:https://www.cnblogs.com/zijinguang/p/1509564.html
最新文章
JRE精简方案 small jre
第三课:搭建Richfaces最小系统
ubuntu10.04 突然不能上网(解决办法) java程序员
Linux网络编程入门(注释理解) java程序员
关于main(int argc,char *argv[])里面参数的说明 java程序员
Android各层推荐开发书籍及参考资料 java程序员
android精髓啊 java程序员
sql表复制,常用语句 java程序员
struct用法深入探索 java程序员
推荐5款精心挑选的导航菜单 java程序员
热门文章
终于可以下载android源代码来开始研究framework层了 java程序员
使用前端框架Foundation 4来帮助简化响应式设计开发 java程序员
获取页面地址
将对象序列化成json数据
读取json数据
利用webservices实现图片远程上传
验证数据对象类型
简单的重定向DEMO
常用到的存储过程
SQL2005新分页功能使用
Copyright © 2011-2022 走看看