麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

【好文翻譯】測試必看:使用Spire.XLS來生成自動化報表!

2019-11-17 03:06:33
字體:
來源:轉載
供稿:網友
【好文翻譯】測試必看:使用Spire.XLS來生成自動化報表!Download C# PRoject - 7.1 KB介紹在我的編程博客中,我經常會比較不同算法或原理的性能特征。我常常會把性能日志(如花費時間)輸出到控制臺或者文本文件,然后復制到電子表格中加以分析。但是最近,我發現一個新方法:我可以使用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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产成人精品午夜视频' | 91短视频在线免费观看 | 在线看毛片的网站 | 8x成人在线电影 | 亚洲人成网站免费播放 | 色就色 综合偷拍区91网 | 亚洲精品在线观看网站 | chinesexxxx刘婷hd| 亚洲第五色综合网 | 日本在线播放一区二区三区 | 精品一二三区视频 | av免费在线观看不卡 | 国产va在线观看 | 曰本三级日本三级日本三级 | 国产精品一品二区三区四区18 | 欧美日韩在线播放一区 | 毛片视频网址 | 日韩一级免费毛片 | 免费一级特黄毛片 | 国产成人网 | 激情视频日韩 | 92看片淫黄大片一级 | 日韩午夜一区二区三区 | 国产一级毛片高清视频完整版 | 黄色特级视频 | 加勒比色综合 | 爱逼av| 操操日日 | 91精品动漫在线观看 | 成人免费福利 | 亚洲一区二区不卡视频 | 亚洲网站一区 | 国产91丝袜在线播放 | 成人在线观看网 | 少妇一级淫片免费放正片 | 久久视频精品 | 看毛片免费 | 羞羞电影在线观看www | 久久毛片免费观看 | 久久久成人999亚洲区美女 | 国产xxxx免费|