将IList、DataTable数据导出到Excel
- /// <summary>
- /// IList导出Excel
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="list">集合</param>
- /// <param name="dataColumn">字段</param>
- /// <param name="fileName"></param>
- public static void ListToExcel<T>(IList list, string[] dataColumn, string fileName)
- {
- HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
- HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
- HttpContext.Current.Response.Charset = "Utf-8";
- HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName + ".xls", System.Text.Encoding.UTF8));
- StringBuilder sbHtml = new StringBuilder();
- sbHtml.AppendLine("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">");
- sbHtml.AppendLine("<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">");
- //写出列名
- sbHtml.AppendLine("<tr style=\"background-color: #FFE88C;font-weight: bold; white-space: nowrap;\">");
- foreach (string item in dataColumn)
- {
- string[] stritem = item.Split(':');
- sbHtml.AppendLine("<td>" + stritem[] + "</td>");
- }
- sbHtml.AppendLine("</tr>");
- //写数据
- foreach (T entity in list)
- {
- Hashtable ht = HashtableHelper.GetModelToHashtable<T>(entity);
- sbHtml.Append("<tr>");
- foreach (string item in dataColumn)
- {
- string[] stritem = item.Split(':');
- sbHtml.Append("<td>").Append(ht[stritem[]]).Append("</td>");
- }
- sbHtml.AppendLine("</tr>");
- }
- sbHtml.AppendLine("</table>");
- HttpContext.Current.Response.Write(sbHtml.ToString());
- HttpContext.Current.Response.End();
- }
- /// <summary>
- /// DataTable导出Excel
- /// </summary>
- /// <param name="data">集合</param>
- /// <param name="dataColumn">字段</param>
- /// <param name="fileName">文件名称</param>
- public static void DataTableToExcel(DataTable data, string[] dataColumn, string fileName)
- {
- HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
- HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
- HttpContext.Current.Response.Charset = "Utf-8";
- HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName + ".xls", System.Text.Encoding.UTF8));
- StringBuilder sbHtml = new StringBuilder();
- sbHtml.AppendLine("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">");
- sbHtml.AppendLine("<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">");
- //写出列名
- sbHtml.AppendLine("<tr style=\"background-color: #FFE88C;font-weight: bold; white-space: nowrap;\">");
- foreach (string item in dataColumn)
- {
- sbHtml.AppendLine("<td>" + item + "</td>");
- }
- sbHtml.AppendLine("</tr>");
- //写数据
- foreach (DataRow row in data.Rows)
- {
- sbHtml.Append("<tr>");
- foreach (string item in dataColumn)
- {
- sbHtml.Append("<td>").Append(row[item]).Append("</td>");
- }
- sbHtml.AppendLine("</tr>");
- }
- sbHtml.AppendLine("</table>");
- HttpContext.Current.Response.Write(sbHtml.ToString());
- HttpContext.Current.Response.End();
- }
将IList、DataTable数据导出到Excel的更多相关文章
- DataTable数据导出到Excel,并发送到客户端进行下载
本代码实现思路是:页面显示和导出分开,导出的数据和用于页面显示的是同一查询数据方式,所以也是同样的数据,只是在导出数据时从数据库重新捞了一次数据.此导出数据方式会先将数据保存到Excel中,然后将创建 ...
- C#将DataTable数据导出到EXCEL的两种方法
1.在非服务器控件的页面导出数据,需要借助一张temp空页面post回后台的数据. 前台:window.location.href = "../Temp.aspx"; 后台: tr ...
- C# CLosedXML四句代码搞定DataTable数据导出到Excel
最近用到DataTable导出到Excel,网上看了一下,都不怎么好使,逛了下GitHub一下完美解决了 用到的.net库CLosedXML,这个库用于读取,处理和写入Excel 2007+(.xls ...
- C# 获取DataTable数据导出到Excel
protected void ExportExcel(System.Data.DataTable dt) { ) return; Microsoft.Office.Interop.Excel.Appl ...
- C#大量数据导出到Excel(转)
工作过程中经常会用到将数据导出到Excel中,一般情况下需要导出的数据都是几百几千条或者上万条,这都没有什么问题,但有时候会遇到特殊的需求,客户要求把几十万条甚至上百万条的数据导出到Excel中,这就 ...
- Excel催化剂开源第15波-VSTO开发之DataTable数据导出至单元格区域
上篇提到如何从Excel界面上拿到用户的数据,另外反方向的怎样输出给用户数据,也是关键之处. VSTO最大的优势是,这双向的过程中,全程有用户的交互操作. 而一般IT型的程序,都是脱离用户的操作,只能 ...
- 将C1Chart数据导出到Excel
大多数情况下,当我们说将图表导出到Excel时,意思是将Chart当成图片导出到Excel中.如果是这样,你可以参考帮助文档中保存和导出C1Chart章节. 不过,也有另一种情况,当你想把图表中的数据 ...
- 数据导出至Excel文件--好库编程网http://code1.okbase.net/codefile/SerializeHelper.cs_2012122018724_118.htm
using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; ...
- asp.net将数据导出到excel
本次应用datatable导出,若用gridview(假设gridview设为了分页显示)会出现只导出当前页的情况. protected void btnPrn_Click(object sender ...
随机推荐
- url传参特殊字符问题(+、%、#等)
这样的话,你传的大多数带特殊符号的参数,都能在后台拿到,但是, url中可能用到的特殊字符及在url中的经过编码后的值:(此表格借鉴) 字符 特殊字符的含义 URL编码 # 用来标志特定的文档 ...
- vs2015下载
VS2015 专业版下载链接http://download.microsoft.com/download/B/8/9/B898E46E-CBAE-4045-A8E2-2D33DD36F3C4/vs20 ...
- PHP mysqli_fetch_array() 函数
从结果集中取得一行作为数字数组或关联数组: <?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect("local ...
- 微信小程序填坑之旅(2)-wx.showLoading的时候,仍能点击穿透,造成重复点击button的问题
解决办法:mask =true wx.showLoading({ title: '正在上传...', mask:true, })
- 【CUDA 基础】5.1 CUDA共享内存概述
title: [CUDA 基础]5.1 CUDA共享内存概述 categories: - CUDA - Freshman tags: - CUDA共享内存模型 - CUDA共享内存分配 - CUDA共 ...
- codeforces316E3
Summer Homework CodeForces - 316E3 By the age of three Smart Beaver mastered all arithmetic operatio ...
- C语言实现简单的哈希表
这是一个简单的哈希表的实现,用c语言做的. 哈希表原理 这里不讲高深理论,只说直观感受.哈希表的目的就是为了根据数据的部分内容(关键字),直接计算出存放完整数据的内存地址. 试想一下,如果从链表中根据 ...
- hdu6568 Math (概率dp)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6568 题意: 在$0$到$L$的坐标轴运输货物,在每个整数点可能丢失货物,丢失概率为$p$,丢失后可 ...
- Codeforces Round #371 (Div. 2)
之前做过E题,是一个DP. A题,水题,两线段求交集. B题,set一下判断即可. C题,水题.但是我写麻烦了,直接转化成二进制再做,比用字符串relize()以后再map要好写得多. D题,交互题, ...
- 定义了char**p,为什么能用p[i][j]的形式?p又不是二维数组?
char **p;p[i][j]相当于*(*(p+i)+j) https://www.zhihu.com/question/63717863