Aspose.cell生成表格
public void ExportQueryPrj(HttpContext context)
{
//接受前端传递参数和数据
string datasource = context.Request["queryResult"]; //序列化后的json字符串
List<QueryXM> queryList = JSONStringToList<QueryXM>(datasource); //反序列化json字符串为list
if (queryList.Count > 0)
{
Workbook workbook = new Workbook();//工作薄
Worksheet worksheet = workbook.Worksheets[0];//工作表
Cells cells = worksheet.Cells;//单元格 //表头部分
cells[0, 0].PutValue("索引值");
cells[0, 1].PutValue("项目ID");
cells[0, 2].PutValue("用地位置");
cells[0, 3].PutValue("项目名称");
cells[0, 4].PutValue("建设单位");
cells[0, 5].PutValue("用地性质");
cells[0, 6].PutValue("用地面积");
cells[0, 7].PutValue("项目类型");
cells[0, 8].PutValue("红线类别");
cells[0, 9].PutValue("用地分类");
cells[0, 10].PutValue("BELONGTFZX");
cells[0, 11].PutValue("TDCRSTATUS");
cells[0, 12].PutValue("TDYT");
cells[0, 13].PutValue("JSYDFL"); //调整宽度
cells.SetColumnWidth(2, 40);
cells.SetColumnWidth(3, 60);
cells.SetColumnWidth(4, 80);
cells.SetColumnWidth(7, 40);
cells.SetColumnWidth(8, 20);
//内容
for (int i = 0; i < queryList.Count; i++)
{ cells[i+1, 0].PutValue(queryList[i].OBJECTID);
cells[i + 1, 1].PutValue(queryList[i].PrjID);
cells[i + 1, 2].PutValue(queryList[i].FADDRESS);
cells[i + 1, 3].PutValue(queryList[i].PRJNAME);
cells[i + 1, 4].PutValue(queryList[i].FCOMPANY);
cells[i + 1, 5].PutValue(queryList[i].YDXZ);
cells[i + 1, 6].PutValue(queryList[i].YDMJ);
cells[i + 1, 7].PutValue(queryList[i].XMLX);
cells[i + 1, 8].PutValue(queryList[i].TYPE);
cells[i + 1, 9].PutValue(queryList[i].YDFL);
cells[i + 1, 10].PutValue(queryList[i].BELONGTFZX);
cells[i + 1, 11].PutValue(queryList[i].TDCRSTATUS);
cells[i + 1, 12].PutValue(queryList[i].TDYT);
cells[i + 1, 13].PutValue(queryList[i].JSYDFL); cells.SetRowHeight(i + 1, 25); //设置行高
}
string filepath= "../Aspose/QueryExcel/项目查询报告"+DateTime.Now.ToString("yyyymmddHHmmss")+".xls";
string fileServerPath = context.Server.MapPath(filepath);
if (!File.Exists(fileServerPath))
{
var myfile = File.Create(fileServerPath);
myfile.Close();
}
workbook.Save(fileServerPath);
//按照json格式返回前端数据
ResponseResult response = new ResponseResult() { responseMark = 1, responseObject = filepath };
context.Response.Write(new JavaScriptSerializer().Serialize(response));
} }
Aspose.cell生成表格的更多相关文章
- Aspose.Cell和NPOI生成Excel文件
1.使用Aspose.Cell生成Excel文件,Aspose.Cell是.NET组件控件,不依赖COM组件 1首先一点需要使用新建好的空Excel文件做模板,否则容易产生一个多出的警告Sheet 1 ...
- 使用Aspose.Cells生成Excel的线型图表
目的: 1.根据模板里面的excel数据信息,动态创建line chart 2.linechart 的样式改为灰色 3.以流的形式写到客户端,不管客户端是否装excel,都可以导出到到客户端 4.使用 ...
- 使用Aspose.Cell控件实现Excel高难度报表的生成(三)
在之前几篇文章中,介绍了关于Apsose.cell这个强大的Excel操作控件的使用,相关文章如下: 使用Aspose.Cell控件实现Excel高难度报表的生成(一) 使用Aspose.Cell控件 ...
- 使用Aspose.Cell控件实现Excel高难度报表的生成(一)
时光飞逝,生活.工作.业余研究总是在不停忙碌着,转眼快到月底,该月的博客文章任务未完,停顿回忆一下,总结一些经验以及好的东西出来,大家一起分享一下.本文章主要介绍报表的生成,基于Aspose.Cell ...
- (转)使用Aspose.Cell控件实现Excel高难度报表的生成(一)
本文章主要介绍报表的生成,基于Aspose.Cell控件的报表生成.谈到报表,估计大家都有所领悟以及个人的理解,总的来说,一般的报表生成,基本上是基于以下几种方式:一种是基于微软Excel内置的引擎来 ...
- 使用Aspose.Cell控件实现Excel高难度报表的生成(二)
继续在上篇<使用Aspose.Cell控件实现Excel高难度报表的生成(一)>随笔基础上,研究探讨基于模板的Aspose.cell报表实现,其中提到了下面两种报表的界面,如下所示: 或者 ...
- 使用Aspose.Cell控件实现Excel高难度报表的生成
1.使用Aspose.Cell控件实现Excel高难度报表的生成(一) http://www.cnblogs.com/wuhuacong/archive/2011/02/23/1962147.html ...
- java 如何在pdf中生成表格
1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储 ...
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
随机推荐
- C#动态给EXCEL列添加下拉选项
Microsoft.Office.Interop.Excel.Application excel=new Microsoft.Office.Interop.Excel.Application(); M ...
- shell入门-uniq去重复和tee重定向
命令:uniq 选项:-c 显示重复数量 说明:去重复,不sort多个功能,显示几个重复 命令:tee 说明:重定向加上双重输出 [root@wangshaojun ~]# cat 2.txt1222 ...
- javascript之模拟块级作用域
在java.C++等语言中,变量i在会在for循环的语句块中定义,循环一旦结束,变量i就会被销毁.可是在javaScript中,从定义开始,就可以在函数内部随处访问.比如 function outpu ...
- Hive 启动 Diagnostic Messages for this Task: java.lang.Throwable: Child Error
Diagnostic Messages for this Task: java.lang.Throwable: Child Error at org.apache.hadoop.mapred.Task ...
- 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句
请定义一个宏,比较两个数的a.b的大小,不能使用大于.小于.if语句 方法一: #define max(a,b) ((((long)((a)-(b)))&0x80000000)?(b): ...
- Animations使用01 BrowserAnimationsModule
1 基础知识 1.1 动画 就是从一个状态过渡到另外一个状态 1.2 状态 元素本身的形状.颜色.大小等 1.3 Angular中的动画 给元素添加一个触发器,当这个触发器被触发后就会让该元素的状态发 ...
- 转:基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据 关于JMeter实时测试数据 JMeter从2.11版本开始,命令 ...
- 文件格式——Sam&bam文件
Sam&bam文件 SAM是一种序列比对格式标准, 由sanger制定,是以TAB为分割符的文本格式.主要应用于测序序列mapping到基因组上的结果表示,当然也可以表示任意的多重比对结果.当 ...
- p2341&bzoj1051 受欢迎的牛
传送门(洛谷) 传送门(bzoj) 题目 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这 种关系是具有传递性的,如果A认为B受欢迎,B认为C ...
- iOS开发,使用CocoaSSDP查找设备时按关键字过滤Device
关于CocoaSSDP的资料有很多,这里就不介绍了. 希望寻找的目标设备,在header中设置了自定义的keyword,虽然通过外围代码也能达到相同目的,但是直接修改CocoaSSDP源码更简便. 导 ...