【好文翻译】测试必看:使用Spire.XLS来生成自动化报表!
2014-06-12 16:52
218 查看
Download C# project - 7.1 KB
介绍
在我的编程博客中,我经常会比较不同算法或原理的性能特征。我常常会把性能日志(如花费时间)输出到控制台或者文本文件,然后复制到电子表格中加以分析。但是最近,我发现一个新方法:我可以使用 Spire.XSL 类库来生成最终的电子表格--包含所有的表格和图表!接下来我将讲讲如何使用这个类来完成各种自动化任务。
案例
我们的目标是创建一个基准测试程序,用于测试三种不同的排序算法。我们为不同的算法所花费的时间计数。下面是简单的代码:
算法已经准备好了,现在我们需要运行它们并加入不同的启动参数。
runAllTests这个功能只需通过设置N的值就能容易的进行循环迭代,调用 .run(N)方法。最有意思的部分,是printResults 方法部分。哪些代码可以自动生成报表和有价值的结果呢?
最简单解决方案
最开始时,当然我们可以将它打印到控制台。我们甚至可以使用CSV格式,然后轻松地把结果复制到电子表格里。
N;Bubble Sort;Merge Sort;Quick Sort;
10;20,00;140,46;96,71;
20;80,00;365,48;251,64;
过一段时间,当你不断地修改你的算法代码,复制结果的工作就显得乏味无比。当然,必须要有一个更快,更好的方法。如果我们不生成CSV文件,而是直接生成excel文件呢?现在应该介绍一下 Spire.XLS 类库了。
Spire.XLS 类库介绍
E-IceBlue 的Spire.XSL 是一个功能强大,易于使用的类库,它另office的自动化操作变得非常容易。很多世界500强的企业都在使用它,这个品牌是受人尊敬和众所周知的。
简要概述:首先在你的项目中添加对Spire.XLS的引用。接下来你就可以创建、打开、修改、运行所有计算,而不需要安装excel或者office。
这一类库与 Excel 97/2003, 2007 and 2010完全兼容。
另外,Spire.XLS还可以保护、加密文件,更厉害的,它还能转换格式。例如,你可以把你的文件转换成PDF、图像或者HTML文件。
这一解决方案使我们创建有价值的自动化程序变得非常简单。
在代码中使用Spire.XSL
在我们的例子中,我们只使用了这个强大类库功能中的1%。即使这样,它已经可以节省大量的生成报表的时间了。
基本使用
添加引用:
四行代码创建'Hello World' 工作簿:
上述代码可以让我们了解怎样使用这一类库。基本上你可以很容易地操作工作簿、工作表和单元格。
改进的解决方案
让我们回到开头描述的问题。我们的新解决方案将保留输出到控制台部分,但是我们直接将结果保存成excel文件。除此之外,我们还可以创建图表。这种方式将节省很多时间--不需要一遍遍地复制和生成图表。。。下面是保存数据相关的代码片段:
接下来是生成图表部分代码:
看,就这么简单!我特别喜欢的一点,就是我们可以得到一个单元格,或者整个区域。看看要改变一个单元格的样式有多么简单。下图是最终的excel文件,当然是自动生成的:
还有图表:
使用Spire.XLS的好处
很多种方式来自动完成你的任务 - 无需安装office
良好完整的文档
易于使用:只需要下载,然后修改你的代码,在安装和编译中毫无问题。
免费版也足够使用
多家500强企业使用
总结
在本文中,我展示了我们可以通过程序自动化地生成性能报表。通过使用Spire.XLS,码农们可以在不要求安装office的情况下创建和操作Excel文件。这是一个非常强大的类库,而且非常非常容易使用。我们创建报表的工作可以通过短短几行代码自动化地实现。另外,Spire.DOC 或者 Spire.PDF也是非常好的类库。
附注和链接
性能:在这里看他们的与OLE性能比较测试, 看起来Spire.XLS要比OLE方式强很多.
这里是他们的快速上手手册
这一类库是为.net设计的,但是在本机代码中也可以使用同样的解决方案。我需要测试时,我们可以创建一个"桥",然后从C++程序中调用.net类库。C++程序可以完美运行,但是所有的报表是通过.net模块调用Spire.XLS来生成的。
原文:http://www.codeproject.com/Articles/783414/Automated-Reports-with-Spire-XLS
介绍
在我的编程博客中,我经常会比较不同算法或原理的性能特征。我常常会把性能日志(如花费时间)输出到控制台或者文本文件,然后复制到电子表格中加以分析。但是最近,我发现一个新方法:我可以使用 Spire.XSL 类库来生成最终的电子表格--包含所有的表格和图表!接下来我将讲讲如何使用这个类来完成各种自动化任务。
案例
我们的目标是创建一个基准测试程序,用于测试三种不同的排序算法。我们为不同的算法所花费的时间计数。下面是简单的代码:
abstract class PerfTestBase { public double ElapsedTimeSec {get; protected set;} public string Name {get; protected set;} public abstract void run(int n); } class BubbleSortPerfTest : PerfTestBase { public BubbleSortPerfTest() { Name = "Bubble Sort"; } public override void run(int n) { // 实现部分 ElapsedTimeSec = X; } } class MergeSortPerfTest : PerfTestBase { public MergeSortPerfTest() { Name = "Merge Sort"; } public override void run(int n) { // 实现部分 ElapsedTimeSec = X; } } class QuickSortPerfTest : PerfTestBase { public QuickSortPerfTest() { Name = "Quick Sort"; } public override void run(int n) { // 实现部分 ElapsedTimeSec = X; } }
算法已经准备好了,现在我们需要运行它们并加入不同的启动参数。
List<PerfTestBase> perfTests = new List<PerfTestBase> { new BubbleSortPerfTest(), new MergeSortPerfTest(), new QuickSortPerfTest() }; // N 从 10 加到 200, 每次增长 10 var res = runAllTests(perfTests, 10, 200, 10); printResults(res);
runAllTests这个功能只需通过设置N的值就能容易的进行循环迭代,调用 .run(N)方法。最有意思的部分,是printResults 方法部分。哪些代码可以自动生成报表和有价值的结果呢?
最简单解决方案
最开始时,当然我们可以将它打印到控制台。我们甚至可以使用CSV格式,然后轻松地把结果复制到电子表格里。
N;Bubble Sort;Merge Sort;Quick Sort;
10;20,00;140,46;96,71;
20;80,00;365,48;251,64;
过一段时间,当你不断地修改你的算法代码,复制结果的工作就显得乏味无比。当然,必须要有一个更快,更好的方法。如果我们不生成CSV文件,而是直接生成excel文件呢?现在应该介绍一下 Spire.XLS 类库了。
Spire.XLS 类库介绍
E-IceBlue 的Spire.XSL 是一个功能强大,易于使用的类库,它另office的自动化操作变得非常容易。很多世界500强的企业都在使用它,这个品牌是受人尊敬和众所周知的。
简要概述:首先在你的项目中添加对Spire.XLS的引用。接下来你就可以创建、打开、修改、运行所有计算,而不需要安装excel或者office。
这一类库与 Excel 97/2003, 2007 and 2010完全兼容。
另外,Spire.XLS还可以保护、加密文件,更厉害的,它还能转换格式。例如,你可以把你的文件转换成PDF、图像或者HTML文件。
这一解决方案使我们创建有价值的自动化程序变得非常简单。
在代码中使用Spire.XSL
在我们的例子中,我们只使用了这个强大类库功能中的1%。即使这样,它已经可以节省大量的生成报表的时间了。
基本使用
添加引用:
using Spire.Xls; using Spire.Xls.Charts;
四行代码创建'Hello World' 工作簿:
Workbook wb = new Workbook(); Worksheet sheet = wb.Worksheets[0]; sheet.Range["A1"].Text = "Hello,World!"; wb.SaveToFile("Sample.xls", ExcelVersion.Version2007);
上述代码可以让我们了解怎样使用这一类库。基本上你可以很容易地操作工作簿、工作表和单元格。
改进的解决方案
让我们回到开头描述的问题。我们的新解决方案将保留输出到控制台部分,但是我们直接将结果保存成excel文件。除此之外,我们还可以创建图表。这种方式将节省很多时间--不需要一遍遍地复制和生成图表。。。下面是保存数据相关的代码片段:
Worksheet sheet = workbook.Worksheets[0]; sheet.Name = "Perf Test"; sheet.Range["A1"].Text = "Elapsed Time for sorting..."; sheet.Range["A1"].Style.Font.IsBold = true; // 列标题: sheet.Range["C3"].Text = "N"; sheet.Range["C3"].Style.Font.IsBold = true; sheet.Range["C3"].Style.HorizontalAlignment = HorizontalAlignType.Center; char col = 'D'; foreach (var n in res.Map.Keys) { sheet.Range[col+"3"].Text = n; sheet.Range[col+"3"].Style.Font.IsBold = true; sheet.Range[col+"3"].Style.HorizontalAlignment = HorizontalAlignType.Center; col++; } // 将数据插入行...
接下来是生成图表部分代码:
Chart chart = sheet.Charts.Add(); //设置图表数据区域 chart.DataRange = workbook.Worksheets[0].Range[range]; chart.SeriesDataFromRange = false; //设置图表位置chart.LeftColumn = 2; chart.TopRow = 2; chart.RightColumn = 12; chart.BottomRow = 30; //图表标题chart.ChartTitle = "Sorting Time..."; chart.ChartTitleArea.IsBold = true; chart.ChartTitleArea.Size = 12; // ... chart.Legend.Position = LegendPositionType.Bottom; chart.ChartType = ExcelChartType.ScatterSmoothedLineMarkers;
看,就这么简单!我特别喜欢的一点,就是我们可以得到一个单元格,或者整个区域。看看要改变一个单元格的样式有多么简单。下图是最终的excel文件,当然是自动生成的:
还有图表:
使用Spire.XLS的好处
很多种方式来自动完成你的任务 - 无需安装office
良好完整的文档
易于使用:只需要下载,然后修改你的代码,在安装和编译中毫无问题。
免费版也足够使用
多家500强企业使用
总结
在本文中,我展示了我们可以通过程序自动化地生成性能报表。通过使用Spire.XLS,码农们可以在不要求安装office的情况下创建和操作Excel文件。这是一个非常强大的类库,而且非常非常容易使用。我们创建报表的工作可以通过短短几行代码自动化地实现。另外,Spire.DOC 或者 Spire.PDF也是非常好的类库。
附注和链接
性能:在这里看他们的与OLE性能比较测试, 看起来Spire.XLS要比OLE方式强很多.
这里是他们的快速上手手册
这一类库是为.net设计的,但是在本机代码中也可以使用同样的解决方案。我需要测试时,我们可以创建一个"桥",然后从C++程序中调用.net类库。C++程序可以完美运行,但是所有的报表是通过.net模块调用Spire.XLS来生成的。
原文:http://www.codeproject.com/Articles/783414/Automated-Reports-with-Spire-XLS
相关文章推荐
- CentOS压力测试工具Tsung安装、使用和图形报表生成
- 使用XLSTransformer生成报表的步骤和流程
- Android Studio中基于Robotium的使用junit report生成自动化测试报告
- [翻译]如何使用webservice作为数据源去生成Microsoft Reporting Services 2005的报表
- Linux压力测试工具Tsung安装、使用和图形报表生成
- [翻译]如何使用webservice作为数据源去生成Microsoft Reporting Services 2005的报表 (转)
- 使用C#通过调用minitab的COM库自动化生成报表
- [翻译]如何使用webservice作为数据源去生成Microsoft Reporting Services 2005的报表
- CentOS压力测试工具Tsung安装、使用和图形报表生成
- 【好文翻译】一步一步教你使用Spire.Doc转换Word文档格式
- [翻译]如何使用webservice作为数据源去生成Microsoft Reporting Services 2005的报表
- (翻译)选择测试自动化框架
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- [翻译] Scott Mitchell 的ASP.NET 2.0数据操作教程之八:使用两个DropDownList过滤的主/从报表
- [翻译] Scott Mitchell 的ASP.NET 2.0数据操作教程之七:使用DropDownList过滤的主/从报表
- jasperreport生成html,Excel,PDF报表,数据源使用List
- 使用Sql生成测试数据(转贴)
- 水晶报表使用经验谈2--使用sql语句直接生成dataset做为报表的数据源!
- 使用Matrix生成动态列报表