报表中的Excel操作之Aspose.Cells(Excel模板)

简介:

本篇中将简单记录下Aspose.Cells这个强大的Excel操作组件。这个组件的强大之处,就不多说,对于我们的报表总是会有导出Excel的处理,如果你使用微软Excel的com组件,那么对于简单的操作还行,但是多余复杂的模板,那将是一个令人头疼的事。在Aspose.Cells之下,将是一个简单的事情。他可以导入导出excel操作,在本节将要说的就是他的际遇excel模板的导出强大功能。

    多的不说,我们先来利用Northwind做两个小demo。先说说Aspose.Cells的模板语法:

  1. &=DataSource.Field,&=[DataSource].[Field]是对DataTable和几何类型的引用,将会从当前行开始竖直向下生成多行数据。
  2. &=$data:是对变量或数组的引用。数组存在skiphorizontal等属性,具体参见官方网站
  3. &=&=动态公式计算;{r}当前行,{c}当前列,{-n},{n}当前行或列的偏移量前n或后n。
  4. &==是动态计算,如excel,if等语句。(if(logic_test,true_value,false_value))

还有其他更为复杂的汇总计算的表达式,这里也不在这节多讲,有兴趣的朋友,可以去官网看看。我们先来个简单的例子,光说,总是不行的,还是要代码实践才能说明一切:

Excel模板1:

代码:在我们的代码中添加数据源:

如下:


 
 
  1. View Code   
  2.  
  3.  1 var sql = @"select * from Customers   
  4.  2                     where Customers.City ='London'";   
  5.  3         var dt=GetDataTable(sql);   
  6.  4         dt.TableName = "Customers";           
  7.  5         WorkbookDesigner designer = new WorkbookDesigner();   
  8.  6         designer.Open(MapPath("~/1.xls"));   
  9.  7         //数据源   
  10.  8         designer.SetDataSource(dt);   
  11.  9         //报表单位   
  12. 10         designer.SetDataSource("ReportUtils""xxxxx有限公司客户信息");   
  13. 11         designer.SetDataSource("ReportAdd""London");   
  14. 12         //截止日期   
  15. 13         designer.SetDataSource("ReportDate", DateTime.Now.ToString("yyyy年MM月dd日"));          
  16. 14   
  17. 15         designer.Process();   
  18. 16   
  19. 17         designer.Save(string.Format("report.xls"), SaveType.OpenInExcel, FileFormatType.Excel2003, Response);   
  20. 18         Response.Flush();   
  21. 19         Response.Close();   
  22. 20         designer = null;   
  23. 21         Response.End();  
  24. 复制代码 

代码很简单,就是添加了一个datatable,和几个变量的数据源,我们所生成excel为:

这就完成了我们的一个简单的多表头数据导出报表。

Demo2中我们将来尝试下他的统计公式和函数计算(利用&=&=计算):

Excel模板2:Northwind的Order Details表

代码:和上面不同的就只有几句:


 
 
  1. Code   
  2.  
  3. 1 var order = GetDataTable(@"select * from [Order Details]   
  4. 2                         where [Order Details].OrderID=10248");   
  5. 3         order.TableName = "Order";  
  6. 4   
  7. 5 designer.SetDataSource(order);  
  8. 复制代码 

Excel效果:

 Excel模板下载 全部代码:


 
 
  1.  View Code   
  2.  
  3.  1 protected void Page_Load(object sender, EventArgs e)   
  4.  2    {   
  5.  3        var s=Aspose.Cells.CellsHelper.GetVersion();     
  6.  4        var sql = @"select * from Customers   
  7.  5                    where Customers.City ='London'";   
  8.  6        var dt=GetDataTable(sql);   
  9.  7        dt.TableName = "Customers";   
  10.  8        var order = GetDataTable(@"select * from [Order Details]   
  11.  9                        where [Order Details].OrderID=10248");   
  12. 10        order.TableName = "Order";   
  13. 11        WorkbookDesigner designer = new WorkbookDesigner();   
  14. 12        designer.Open(MapPath("~/1.xls"));   
  15. 13        //数据源   
  16. 14        designer.SetDataSource(dt);   
  17. 15        designer.SetDataSource(order);   
  18. 16        //报表单位   
  19. 17        designer.SetDataSource("ReportUtils""xxxxx有限公司客户信息");   
  20. 18        designer.SetDataSource("ReportAdd""London");   
  21. 19        //截止日期   
  22. 20        designer.SetDataSource("ReportDate", DateTime.Now.ToString("yyyy年MM月dd日"));          
  23. 21   
  24. 22        designer.Process();   
  25. 23   
  26. 24        designer.Save(string.Format("report.xls"), SaveType.OpenInExcel, FileFormatType.Excel2003, Response);   
  27. 25        Response.Flush();   
  28. 26        Response.Close();   
  29. 27        designer = null;   
  30. 28        Response.End();   
  31. 29    }  
  32. 复制代码  
  33.    

 







 本文转自 破狼 51CTO博客,原文链接:http://blog.51cto.com/whitewolfblog/835228,如需转载请自行联系原作者


相关文章
|
7月前
|
Java BI 数据处理
如何在Java中实现Excel操作
如何在Java中实现Excel操作
|
3月前
|
Java BI API
Java Excel报表生成:JXLS库的高效应用
在Java应用开发中,经常需要将数据导出到Excel文件中,以便于数据的分析和共享。JXLS库是一个强大的工具,它基于Apache POI,提供了一种简单而高效的方式来生成Excel报表。本文将详细介绍JXLS库的使用方法和技巧,帮助你快速掌握Java中的Excel导出功能。
121 6
|
8月前
|
Java 数据库 数据安全/隐私保护
Java操作Excel文件导入导出【内含有 jxl.jar 】
Java操作Excel文件导入导出【内含有 jxl.jar 】
104 0
Excel如何使用VBA操作引用其它工作簿中的单元格
Excel引用其它工作簿中的单元格的值及使用VBA操作
|
8月前
|
Python
【干货】python xlwt写入excel操作
【干货】python xlwt写入excel操作
|
8月前
|
图形学
【unity小技巧】unity读excel配置表操作,excel转txt文本,并读取txt文本内容,实例说明
【unity小技巧】unity读excel配置表操作,excel转txt文本,并读取txt文本内容,实例说明
322 0
|
8月前
|
分布式计算 大数据 数据处理
MaxCompute操作报错合集之在本地用tunnel命令上传excel表格到mc遇到报错: tunnel upload C:\Users***\Desktop\a.xlsx mc里的非分区表名 -s false;该怎么办
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
9月前
|
数据挖掘 数据库连接 数据处理
精通Excel意味着熟练掌握基础及进阶操作
精通Excel意味着熟练掌握基础及进阶操作,如数据透视表、VBA编程和自定义公式。提升效率的技巧包括善用快捷键、自动化重复任务、巧用公式与函数(如SUM和VLOOKUP)、利用数据透视表分析数据、设置条件格式、建立数据库连接、编写自定义函数、创建数据图表、使用模板和进行分组汇总。这些方法能有效提升数据分析和处理能力,优化工作效率。
215 2
|
9月前
|
Java Apache 索引
POI操作大全(动态合并单元格,为单元格生成一个自定义的数据显示格式,自定义公式计算结果生成,读取excel,word文件在生成图片,word指定位置生成图片)
POI操作大全(动态合并单元格,为单元格生成一个自定义的数据显示格式,自定义公式计算结果生成,读取excel,word文件在生成图片,word指定位置生成图片)
1151 0
|
9月前
|
C#
C#NPOI操作Excel详解
C#NPOI操作Excel详解
1201 0

热门文章

最新文章