时间:2016-02-16 00:11 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP.NET中生成Excel遇到的问题及改进方法】,下面是详细的讲解!
ASP.NET中生成Excel遇到的问题及改进方法
/// <summary>
/// 将一组对象导出成EXCEL
/// </summary>
/// <typeparam name="T">要导出对象的类型</typeparam>
/// <param name="objList">一组对象</param>
/// <param name="FileName">导出后的文件名</param>
/// <param name="columnInfo">列名信息</param>
public static void ExExcel<T>(List<T> objList, string FileName, Dictionary<string, string> columnInfo)
{
if (columnInfo.Count==0) { return; }
if (objList.Count==0) { return; }
//生成EXCEL的HTML
StringBuilder excelStr=new StringBuilder(objList.Count * columnInfo.Count);
Type myType=objList[0].GetType();
//根据反射从传递进来的属性名信息得到要显示的属性
List<PropertyInfo> myPro=new List<PropertyInfo>();
foreach (string cName in columnInfo.Keys)
{
PropertyInfo p=myType.GetProperty(cName);
if (p !=null)
{
myPro.Add(p);
excelStr.Append(columnInfo[cName]).Append("\t");
}
}
//如果没有找到可用的属性则结束
if (myPro.Count==0) { return; }
excelStr.Append("\n");
foreach (T obj in objList)
{
foreach (PropertyInfo p in myPro)
{
excelStr.Append(p.GetValue(obj, null)).Append("\t");
}
excelStr.Append("\n");
}
//输出EXCEL
HttpResponse rs=System.Web.HttpContext.Current.Response;
rs.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
rs.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
rs.ContentType="application/ms-excel";
rs.Write(excelStr);
rs.End();
}
}
关于ASP.NET中生成Excel遇到的问题及改进方法的用户互动如下:
相关问题:用asp.net 把GridView中的所有数据导出到Excel中没...
答:如果你指的是excel结果有乱码。可以参考下 1,excel单元格的格式是不是文本。 2,跟踪调试.net中准备导出的数据集。 3,.net中response的enconding >>详细
相关问题:asp.net中,如何实现将page页面各个空间的属性值,...
答:一般不用把所有的控件的值都导出吧,一般导出的都是数据,如GridView1,等数据控件中的值 ,这个倒是很简单的。 >>详细
相关问题:你好,我现在遇到了一个问题就是在asp.net里调用of...
答:你调用相关外部组件后实现了析构器没有?及时释放资源没有?有没有做ASP.NET的并发管理? >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【asp】asp.net开发中常见公共捕获异常方式总结(
- 【Visual】分享Visual Studio原生开发的10个调试
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
