webform的导出
呃 怎么说呢 我这个是公司大佬写好的 我直接调用 和以前写的百度上面的都不大一样 感觉很Nice 插个眼 说不定以后还得回来参考参考 具体是这样的 你先写好一个模板 就是你要导出的数据应该在Excal显示出什么样子 比如我现在需要导出这样的样子

ok 然后找个地方放好 随后写一个配置文件 ExportConfig.xml里面的内容如下

然后是一个ExcalHelper帮助类
public static class ExcelHelper
{
//这里的三各参数 分别是一个数据结果集DataSet , 你刚写的配置文件模板的名字,然后就是一个导出Excal的名字
public static void ExprortExcel(DataSet set, string typeName, string fileName)
{
string outputFile = HttpContext.Current.Server.MapPath(string.Format("~/Temp/Temp/{0}", fileName));
var tempDirectory = HttpContext.Current.Server.MapPath("~/Temp/Temp/");
var files = Directory.GetFiles(tempDirectory);
try
{
foreach (string item in files)
{
File.Delete(item);
}
}
catch (Exception)
{
} ExportMain.GetProductDescription();
set.DataSetName = typeName;
ExportMain.Export(set, outputFile);
ToClient(outputFile);
}
public static void ToClient(string filePath)
{
try
{
FileInfo info = new FileInfo(filePath);
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Charset = "UTF-8";
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(info.Name, System.Text.Encoding.UTF8));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", info.Length.ToString());
// 指定返回的是一个不能被客户端读取的流,必须被下载
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
// 把文件流发送到客户端
System.Web.HttpContext.Current.Response.WriteFile(info.FullName);
// File.Delete(file.FullName);
// 停止页面的执行
HttpContext.Current.Response.End();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (File.Exists(filePath))
{
File.Delete(filePath);
} }
}
}
//调用
//建立一个DataSet
DataSet set = new DataSet();
//建立一个DataTable
DataTable table = new DataTable("Body");//这里的名字是你配置文件里的source的名字
//之后为这个Table创建列
table.Columns.Add("Year", typeof(int));//年度
table.Columns.Add("ProvinceName", typeof(string));//省份
table.Columns.Add("CourseName", typeof(string));//文理
table.Columns.Add("MinScore", typeof(int));//分数开始
table.Columns.Add("MaxScore", typeof(int));//分数截止
table.Columns.Add("SameNumber", typeof(int));//同分人数
table.Columns.Add("LowestRank", typeof(int));//最低位次
table.Columns.Add("HighestRank", typeof(int));//最高位次
table.Columns.Add("istrue", typeof(string));//是否正确值
//循环追加数据 随便你
table.Rows.Add(列1,列2,列3,列4,列5,列6,列7,列8,列9);
//然后将这个table放到DataSet中
set.Tables.Add(table);
//最后调用ExcalHelper帮助类传进需要的参数就OK了
ExcalHelper(set,"OneParagraph","导出Excal的文件名"); 后面还会补充多工作表 或者 有跨行表头的 感谢你能看完
webform的导出的更多相关文章
- webform数据导出
把数据放到一个泛型集合里,再把泛型集合里面的数据放到一个table中,设置好文件路径,然后进行文件读取,最后供用户下载. 数据导出放在一个按钮中就可以了 using System; using Sys ...
- asp.net webform/mvc导出Excel通用代码
最近将自己在项目中经常用到的excel导出方法分析如下,如有不妥之处望他人指出,如果有更好的方法希望展示出来互相学习. //导出事件 protected void btnexcel_Click(obj ...
- C# 导出word文档及批量导出word文档(2)
aspose.word主要是通过把读取出来的数据放到datatable里,在datable里做相应的格式的调整,再导出到word文档里.mvc和webform最后导出的语句略有不同,在mvc的cont ...
- .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转
.net mvc 站点自带简易SSL加密传输 因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...
- Npoi导出Excel 实战篇(Webform)
开篇语 废话不多说,直接上遇到的问题 需求:在这个界面点击导出,导出页面数据,苦于没有做过webfrom项目,弄了半天还是没想到原生态的好方法,所以在网上看了下有没有导出的好例子,结果发现有人推荐使用 ...
- webform 不实用office控件导出excel StringBuilder 类型拼接字符串表格导出excel
StringBuilder sb = new StringBuilder(); sb.AppendLine("<meta http-equiv=\"Content-Type\ ...
- C#+Aspose.Cells 导出Excel及设置样式 (Webform/Winform)
在项目中用到,特此记录下来,Aspose.Cells 不依赖机器装没有装EXCEL都可以导出,很方便.具体可以参考其他 http://www.aspose.com/docs/display/cells ...
- 使用NPOI组件完成的Excel导出导入(附源代码,测试通过)
最近遇到一个Excel导入导出的问题,要支持winform和webform,这里我是一个认真严谨的coder,所以决定把这个记录下来!和大家一起分享一下!如果需要的同学可以下载哦! 对于NPOI这个组 ...
- RDIFramework.NET -.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(WebForm版)
RDIFramework.NET—.NET快速开发整合框架 [开发实例]之产品管理(WebForm版) 接上篇:RDIFramework.NET (.NET快速信息化系统开发整合框架) [开发实例]之 ...
随机推荐
- 冲刺NOIP2015提高组复赛模拟试题(五)1.数学作业
1. 数学作业 [问题描述] 路人丙的数学老师非常乏力,他喜欢出一些非常乏力的数学题来为难乏力的学生们.这次数学老师布置了一堆的数学题作为作业,而且这些数学题有个共同的特点是都求C(N,M)中不同质因 ...
- easyui tabs update 强制刷新页面
var tab = artDialog.open.origin.$("#tabs").tabs("getTab", "公司评级"); var ...
- maven 执行本地、服务器 jar包安装
开发时遇到过第三方jar包依赖不了时的尴尬 因为遇到过几次所以记录一下,POM文件引入的个推jar包无效,就必须本地安装了,服务器上的也是一样,执行相同的maven命令就行,注意修改路径!和将jar包 ...
- hadoop分布式集群搭建前期准备(centos7)
那玩大数据,想做个大数据的从业者,必须了解在生产环境下搭建集群哇?由于hadoop是apache上的开源项目,所以版本有些混乱,听说都在用Cloudera的cdh5来弄?后续研究这个吧,就算这样搭建不 ...
- STM32F4库函数里面的RCC_DeInit(void)函数分析
void RCC_DeInit(void) { /*Set HSION bit,内部高速时钟使能HSI振荡器打开*/ RCC->CR |=(uint32_t)0x00000001; /*Rese ...
- Ubuntu14.04下 安装xhprof
1.下载xhprof包: wget http://pecl.php.net/get/xhprof-0.9.4.tgz 2.解压 进入扩展目录 .tgz cd /home/justphp/xhprof- ...
- 有一个5ml 的瓶子 和3ml 的瓶子 和 很多水 现在 要取出4ml的水 请写出编程 多种解法
//TODO public class demo { public static void main(String[] args) { demo.ss(); demo.sss(); } public ...
- Git & Github使用总结
Linux下git的安装 在终端下输入 git , 看系统有没有安装git. 如果没有安装则会出现以下提醒: The program 'git' is currently not installed. ...
- 如何设置才能远程登录Mysql数据库
可以在一台机器上访问另一台机器的MySQL,但是需要一些设置. 进入MySQL后,输入以下命令: GRANT ALL PRIVILEGES ON *.* TO 'tigase'@'%' IDENTIF ...
- ORB_SLAM2应用实践_ROS小强机器人
http://www.cnblogs.com/2008nmj/p/6166282.html