使用插件实现一般处理程序导出excel
string sql = "select * from WJ_ProjectManager where" + WhereString ;
DataTable dt = SqlHelper.ExecuteDataTable(sql);
Aspose.Cells.Workbook wk = new Aspose.Cells.Workbook();
string excelFile = string.Empty;
excelFile = "项目管理导出模板.xlsx";
wk.Open(System.Web.HttpContext.Current.Server.MapPath("/View/ProjectManager/" + excelFile));
if (dt.Rows.Count > 0) {
for (int i = 0; i < dt.Rows.Count; i++)
{
wk.Worksheets[0].Cells[i + 2, 0].PutValue(i+1); //项目名称
wk.Worksheets[0].Cells[i + 2, 1].PutValue(dt.Rows[i]["P_Name"]); //项目名称
wk.Worksheets[0].Cells[i + 2, 2].PutValue(dt.Rows[i]["P_Customer"].ToString().Split(',')[1]); //关联客户
wk.Worksheets[0].Cells[i + 2, 3].PutValue(dt.Rows[i]["P_Price"]); //项目价格
wk.Worksheets[0].Cells[i + 2, 4].PutValue(dt.Rows[i]["P_StartDay"].ToString().Substring(0,10)); //预计实施时间
wk.Worksheets[0].Cells[i + 2, 5].PutValue(dt.Rows[i]["P_AddDay"].ToString().Substring(0,10));//项目新增时间
wk.Worksheets[0].Cells[i + 2, 6].PutValue(dt.Rows[i]["P_Status"]);//项目状态
wk.Worksheets[0].Cells[i + 2, 7].PutValue(dt.Rows[i]["P_Relation"]);//联系人
wk.Worksheets[0].Cells[i + 2, 8].PutValue(dt.Rows[i]["P_Solder"]);//销售人员
}
string yxdatet = DateTime.Now.Year + "" + DateTime.Now.Month + "" + DateTime.Now.Day + "" + DateTime.Now.Millisecond;
string filename = yxdatet + "项目管理.xls";
string serverPath = System.Web.HttpContext.Current.Server.MapPath("/import/" + filename);
wk.Save(serverPath);
FileInfo fileInfo = new FileInfo(serverPath);
context.Response.Clear();
context.Response.ClearContent();
context.Response.ClearHeaders();
System.Web.HttpContext.Current.Response.Charset = "GB2312";
context.Response.AddHeader("Content-Disposition", "attachment;filename=" + context.Server.UrlEncode(yxdatet + "项目管理.xls"));
context.Response.AddHeader("Content-Length", fileInfo.Length.ToString());
context.Response.AddHeader("Content-Transfer-Encoding", "binary");
context.Response.ContentType = "application/octet-stream";
context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
context.Response.WriteFile(fileInfo.FullName);
context.Response.Flush();
context.Response.End();
使用插件实现一般处理程序导出excel的更多相关文章
- php不使用插件导出excel
php不使用插件导出excel的简单方法,首先获取需要导出的数据的数组,数组的格式在下面. 之后就是定义文件名称和需要导出的excel的样式,最后就是循环数组,输出数据了 代码: $filename= ...
- 导出Excel插件——Export-CSV ---20150610
出处:http://bbs.hcharts.cn/thread-99-1-1.html 导出Excel插件——Export-CSV 一.插件信息 插件名:Export-CSV(导出Execl文件) ...
- 导出Excel/Pdf/txt/json/XML/PNG/CSV/SQL/MS-Word/ Ms-Powerpoint/等通过tableExport.js插件来实现
首先去我的云盘下载需要的js: 链接:https://pan.baidu.com/s/13vC-u92ulpx3RbljsuadWw 提取码:mo8m 页面代码: <!DOCTYPE html& ...
- 插件 ExcelWrite 导出Excel格式数据/获取图层
使用ExcelWrite 插件可以导出Excel格式的数据: ExcelFile端口接 文件数据路径 最后面的是文件名,不用写格式 如果存储树形数据,需要 勾选 List To Row 选项: 附: ...
- 使用POI插件,提取导出excel的工具类
在网站的不同的模块都需要使用到导入导出excel的功能,我们就需要写一个通用的工具类ExcelUtil. 我的思路:首先,导入和导出的Excel的文件格式固定:主标题,二级标题,数据行(姑且就这么叫) ...
- Java无模板导出Excel,Apache-POI插件实现
开发环境 jdk 1.8 Maven 3.6 Tomcat 8.5 SpringBoot 2.1.4.RELEASE Apache-POI 3.6 Idea 注意: 我是在现有的基于SpringBoo ...
- php 导出Excel 不用安装插件、开启配置
function export_csv($filename, $data) { header("Content-type:text/csv"); header("Cont ...
- 个人推荐的两款vue导出EXCEL插件
个人认为前端VUE项目中导出EXCEL比较好的两种方法,均不是我个人原创,我只是收录简单说明,原创地址在下面. 下面推荐两种方法,个人推荐第一种,第二种不做详细讲解,因为作者已经写过博客了,你们可以点 ...
- Java导出excel
一.介绍 常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际的开发中,很多时候需要实现导入.导出Excel的应用. ...
随机推荐
- VVDocumenter 使用
函数说明文档插件下载链接 https://github.com/onevcat/VVDocumenter-Xcode 下载后,直接运行项目 升级Xcode后可能不能再次使用,需要做一些处理从Xcode ...
- Android开发学习之路-带文字的图片分享
有用过微信分享SDK的都应该知道,微信分享到朋友圈的时候是不能同时分享图片和文字的,只要有缩略图,那么文字就不会生效.那么问题就来了,如果我们想把APP内的某些内容连带图片一起分享到微信,是不是没办法 ...
- 当前不会命中断点。源代码与原始版本不同 (VS2012)
遇到“当前不会命中断点.源代码与原始版本不同”的问题. 在网上查的类似: 一般studio会提示将“工具”,“选项”,“调试”,“要求源文件与原始版本完成匹配”去掉勾.但是这个配置去掉治标不治本,错误 ...
- Cocos2d-x 3.x游戏开发之旅
Cocos2d-x 3.x游戏开发之旅 钟迪龙 著 ISBN 978-7-121-24276-2 2014年10月出版 定价:79.00元 516页 16开 内容提要 <Cocos2d-x ...
- iOS-数据持久化详细介绍
1.iOS-数据解析XML解析的多种平台介绍 2.iOS-数据持久化基础-JSON与XML数据解析 3.iOS-数据持久化基础-沙盒机制 4. 数据持久化的几种方式: 1)plist(XML属性列 ...
- 《Qt Quick 4小时入门》学习笔记4
http://edu.csdn.net/course/detail/1042/14806?auto_start=1 Qt Quick 4小时入门 第七章:处理鼠标与键盘事件 1.处理鼠标事件 鼠标信号 ...
- 扩:new and override
昨天有个网友问我继承里面的new和override关键词有啥区别,呃,我们来看个例子就知道了 new ==>隐藏父类同名方法 override==>覆盖 定义一个父类: public c ...
- Android混淆代码
Android代码混淆是必须的,java层代码如果不做混淆等于把源代码送人了.那如何做混淆呢? 之前一般都是提到采用proguard.cfg,但使用新版本ADT后没有这个文件了,取而代之的是progu ...
- 《ES6基础教程》之 Call 方法和 Apply 方法
<script type="text/javascript"> // Call方法: // 语法:call(thisObj[,arg1,arg2,...,argN]) ...
- Linux安装Node.js
安装环境:Ubuntu:x86_64 Node.js 官网:https://nodejs.org 下载Node.js: wget https://nodejs.org/dist/v4.4.3/node ...