NopI 导出数据
protected void exportAward(DataSet dsResult)
{
if (dsResult != null)
{
string fileName = System.Web.HttpUtility.UrlEncode("任务列表", System.Text.Encoding.UTF8) + ".xls";//excel 名称
ExportDataSetToExcel(dsResult, fileName, "writered");
} }
/// <summary>
///
/// </summary>
/// <param name="sourceDs">导出数据源</param>
/// <param name="fileName">excel名称</param>
/// <param name="sheetName">工作表名</param>
public void ExportDataSetToExcel(DataSet sourceDs, string fileName, string sheetName)
{
MemoryStream ms = DataSetToExcel(sourceDs, sheetName) as MemoryStream;//创建内存流
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName);
HttpContext.Current.Response.BinaryWrite(ms.ToArray());
HttpContext.Current.Response.End();
ms.Close();
ms = null;
}
public Stream DataSetToExcel(DataSet sourceDs, string sheetName)
{ HSSFWorkbook workbook = new HSSFWorkbook();
MemoryStream ms = new MemoryStream(); //创建内存流
string[] sheetNames = sheetName.Split(',');
for (int i = 0; i < sheetNames.Length; i++)
{
HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet(sheetNames[i]); HSSFRow headerRow = (HSSFRow)sheet.CreateRow(0); //表头 headerRow.CreateCell(0).SetCellValue("序号");
headerRow.CreateCell(1).SetCellValue("任务标题");
headerRow.CreateCell(2).SetCellValue("发布人");
headerRow.CreateCell(3).SetCellValue("发布时间");
headerRow.CreateCell(4).SetCellValue("参阅人");
headerRow.CreateCell(5).SetCellValue("接收范围");
headerRow.CreateCell(6).SetCellValue("任务时间");
headerRow.CreateCell(7).SetCellValue("任务状态"); //填充表格
int rowIndex = 1;
for (int j = 0; j < sourceDs.Tables[0].Rows.Count; j++)
{
HSSFRow dataRow = (HSSFRow)sheet.CreateRow(rowIndex);
//for (int a = 0; a < sourceDs.Tables[0].Columns.Count; a++)
//{
dataRow.CreateCell(0).SetCellValue(sourceDs.Tables[0].Rows[j]["Row"].ToString());
dataRow.CreateCell(1).SetCellValue(sourceDs.Tables[0].Rows[j]["F_Title"].ToString());
dataRow.CreateCell(2).SetCellValue(sourceDs.Tables[0].Rows[j]["F_teaName"].ToString());
dataRow.CreateCell(3).SetCellValue(sourceDs.Tables[0].Rows[j]["F_CreatedDate"].ToString());
dataRow.CreateCell(4).SetCellValue(sourceDs.Tables[0].Rows[j]["F_SeePeopleName"].ToString());
dataRow.CreateCell(5).SetCellValue(sourceDs.Tables[0].Rows[j]["F_SchoolnameRange"].ToString());
dataRow.CreateCell(6).SetCellValue(Convert.ToDateTime(sourceDs.Tables[0].Rows[j]["F_StartTime"]).ToString("yyyy-MM-dd HH:mm") + "~" + Convert.ToDateTime(sourceDs.Tables[0].Rows[j]["F_EndTime"]).ToString("yyyy-MM-dd HH:mm"));
dataRow.CreateCell(7).SetCellValue(sourceDs.Tables[0].Rows[j]["taskfalg"].ToString());
//}
rowIndex++;
}
}
workbook.Write(ms);
ms.Flush();
ms.Position = 0;
workbook = null;
return ms;
}
NopI 导出数据的更多相关文章
- 使用npoi.dll导出数据到excel
.net数据导出excel数据有多种方法,最常用的就是使用office组件,但随之而来的问题也很棘手,又要调权限又要确定是否安装office很是麻烦,最近一个项目中也有数据导出功能,随使用excel模 ...
- NOPI导出Excel
NOPI导出Excel /// <summary> /// 导出的方法 Excel样式 /// </summary> /// <param name="ds&q ...
- CRL快速开发框架系列教程九(导入/导出数据)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- Vertica 导出数据测试用例
需求:构建简单的测试用例,完成演示Vertica导出数据的功能. 测试用例:导出test业务用户t_jingyu表中的数据. 一.初始化测试环境 二.导出数据 2.1 vsql命令说明帮助 2.2 导 ...
- 1.ASP.NET MVC使用EPPlus,导出数据到Excel中
好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...
- 导出数据到Excel --使用ExcelReport有感
先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...
- MySQL 导出数据
MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上. 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中我们将数据表 cnbl ...
- 使用Open xml 操作Excel系列之二--从data table导出数据到Excel
由于Excel中提供了透视表PivotTable,许多项目都使用它来作为数据分析报表. 在有些情况下,我们需要在Excel中设计好模板,包括数据源表,透视表等, 当数据导入到数据源表时,自动更新透视表 ...
- Dynamics CRM导出数据到Excel
原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...
随机推荐
- shell入门-sed-1
sed这个工具比grep复杂一点,功能比grep复杂一点 功能也能指定匹配的行,不能颜色显示 sed 基础功能 [root@wangshaojun ~]# sed -n '10'p 1.txtuucp ...
- HTTP之首部
http报文包括起始行.首部和主体. HTTP请求/响应起始行 请求组成: 方法 + 请求URL + HTTP版本 响应组成: HTTP版本 + 数字状态码 + 描述状态的原因短语 HT ...
- 【254】◀▶IEW-Unit19
Unit 19 Technology Communication I.名词性从句在雅思写作中的运用 英语中哪些位置可以放名词? 1)主语 2)宾语 3)表语 4)同位语 名词的位置放一个句子=名词性从 ...
- 第五篇 elasticsearch express插入数据
1.后端 在elasticsearch.js文件夹下添加: function addDocument(document) { return elasticClient.index({ index: i ...
- 31.TCP/IP 三次握手与四次挥手
TCP/IP三次握手 TCP建立连接为什么是三次握手,而不是两次或四次? TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6. 顺便说一句,原则上任何数据传输都无法确保绝对可靠,三次握手 ...
- 20169219linux 内核原理与分析第五周作业
进程调度 1. 进程调度是确保进程能有效工作的一个内核子进程.调度程序是像linux这样的多任务操作系统的基础.最大限度地利用处理器时间的原则是,只要有可以执行的进程,那么就总会有进程正在执行.但是只 ...
- C#对Execl操作类
1.NuGet下安装 NPOI 2.实例代码:(可以根据具体情况注释和添加代码逻辑) public class ExeclHelper { /// <summary> /// 将excel ...
- vue,webpack,node间的关系
针对在“思否”上看到的关于vue,node,webpack的一些问题及回复,做出如下的整理,给同样不是很清楚的朋友做了解,也供自己学习 原链接:https://segmentfault.com/q/1 ...
- FMDB 使用注意点
关于FMDB最基本的使用我们就不在说了,这个网上大把的文章介绍,我就在这里总结几点我最近在写一个小东西的时候注意到的一点点东西: 一: 怎么看真机上SQLite数据库 我们在开发的过程中肯定有使用到真 ...
- svg动画 animate
最近使用到svg的动画animate,简单总结下animate的主要属性: 1.定义:SVG 的animate 动画元素放在形状元素的内部,用来定义一个元素的某个属性如何踩着时点改变.在指定持续时间里 ...