欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

.NET讀寫Excel工具Spire.Xls使用 重量級的Excel圖表功能(5)

 更新時(shí)間:2017年11月20日 11:35:55   作者:數(shù)據(jù)之巔  
這篇文章主要為大家詳細(xì)介紹了.NET讀寫Excel工具Spire.Xls使用,重量級的Excel圖表功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前一篇文章:“.NET讀寫Excel工具Spire.Xls使用(4)對數(shù)據(jù)操作與控制”給大家介紹了Spire.XLS對數(shù)據(jù)的控制相關(guān)功能,這一篇給大家介紹Spire.XLS最大的亮點(diǎn)所在,C#控制Excel生成圖表。將介紹C#生成不同類型圖表的方法,并介紹Excel圖表的相關(guān)操作,如調(diào)整大小,保存圖片等操作的方法。

1.Excel中的圖表

  我們生活的這個(gè)世界是豐富多彩的,幾乎所有的知識都來自于視覺。也許無法記住一連串的數(shù)字,以及它們之間的關(guān)系和趨勢。但是可以很輕松地記住一幅圖畫或者一個(gè)曲線。因此由于使用圖表,會使得用Excel編制的工作表更易于理解和交流。Excel具有許多高級的制圖功能,同時(shí)使用起來也非常簡便。在本章中,我們將學(xué)習(xí)到建立一張簡單的圖表,再進(jìn)行修飾,使圖表更加精致,以及如何為圖形加上背景、圖注、正文等等。Excel中圖表是指將工作表中的數(shù)據(jù)用圖形表示出來。例如:將各地區(qū)每周的銷售用柱形圖顯示出來,見圖8-1的顯示。圖表可以使數(shù)據(jù)更加有趣、吸引人、易于閱讀和評價(jià)。它們也可以幫助我們分析和比較數(shù)據(jù)[1]。如下圖所示的圖表,看數(shù)據(jù)多累,看圖表就一目了然。。。

2.C#創(chuàng)建Excel圖表方法

2.1 Spire.Xls的圖表類

  在Spire.Xls組件中,生成圖表已經(jīng)非常簡化了。只需要一個(gè)核心的Chart類,就可以增加圖表并進(jìn)行輔助的一些設(shè)置。Spire.Xls定義支持的圖表類型,在枚舉ExcelChartType類型中。目前一共有74種類型,可以使用對象瀏覽器大概看一下:  

  在實(shí)際的使用過程中,添加Excel圖表主要有以下幾個(gè)過程:

1.給指定的Sheet添加需要的Excel圖表的類型;

2.設(shè)置圖表所需要的數(shù)據(jù)范圍;

3.設(shè)置圖表的位置以及標(biāo)題;

4.設(shè)置系列圖表以及坐標(biāo)軸的值。

  下面將使用C#和Spire.Xls組件做一個(gè)生成餅狀圖和折線圖的例子,看看基本的使用過程。

2.2 生成餅狀圖

  在工作中如果遇到需要計(jì)算總費(fèi)用或金額的各個(gè)部分構(gòu)成比例的情況,一般都是通過各個(gè)部分與總額相除來計(jì)算,而且這種比例表示方法很抽象,我們可以使用一種餅狀圖表工具,能夠直接以圖形的方式直接顯示各個(gè)組成部分所占比例,在Excel中可以很方便的制作餅狀圖表。Spire.Xls中餅狀圖類型是ExcelChartType類中的Pie和Pie3D,為了效果很好看,我們可以使用3D的類型。

//創(chuàng)建餅狀圖表
Chart chart = sheet.Charts.Add(ExcelChartType.Pie);
//設(shè)置圖表的數(shù)據(jù)范圍,使用的也是和前面單元格獲取的Range對象
chart.DataRange = sheet.Range["B2:B5"];
chart.SeriesDataFromRange = false;

//設(shè)置圖表的位置
chart.LeftColumn = 1;//圖表左邊列
chart.TopRow = 6;//圖表上部的行
chart.RightColumn = 6;//圖表右邊列
chart.BottomRow = 18;//圖表底部行

//圖表標(biāo)題
chart.ChartTitle = "餅形圖例子";
//設(shè)置字體
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;

//初始化圖例
Spire.Xls.Charts.ChartSerie cs = chart.Series[0];
//圖表的標(biāo)簽?zāi)夸洈?shù)據(jù)
cs.CategoryLabels = sheet.Range["A2:A5"];
//圖表的主要值,也就是餅狀圖的數(shù)據(jù)
cs.Values = sheet.Range["B2:B5"];

如下所示的效果:

2.3 生成折線圖

  線圖是用直線段將各數(shù)據(jù)點(diǎn)連接起來而組成的圖形,以折線方式顯示數(shù)據(jù)的變化趨勢。折線圖可以顯示隨時(shí)間(根據(jù)常用比例設(shè)置)而變化的連續(xù)數(shù)據(jù),因此非常適用于顯示在相等時(shí)間間隔下數(shù)據(jù)的趨勢。在折線圖中,類別數(shù)據(jù)沿水平軸均勻分布,所有值數(shù)據(jù)沿垂直軸均勻分布。在折線圖中,數(shù)據(jù)是遞增還是遞減、增減的速率、增減的規(guī)律(周期性、螺旋性等)、峰值等特征都可以清晰地反映出來。所以,折線圖常用來分析數(shù)據(jù)隨時(shí)間的變化趨勢,也可用來分析多組數(shù)據(jù)隨時(shí)間變化的相互作用和相互影響。

  使用Spire.Xls繪制折線圖過程和上面的類型。但如果圖例較多,就是設(shè)置稍微復(fù)雜一點(diǎn)??匆粋€(gè)例子:

//給Sheet對象添加一個(gè)圖表對象,可以直接添加類型,也可以單獨(dú)用ChartType賦值來添加
Chart chart = sheet.Charts.Add();
chart.ChartType = ExcelChartType.Line3D;

//設(shè)置圖表的數(shù)據(jù)范圍
chart.DataRange = sheet.Range["A1:E5"];

//設(shè)置圖表的保存位置,這個(gè)基本都差不多
chart.LeftColumn = 1;
chart.TopRow = 6;
chart.RightColumn = 7;
chart.BottomRow = 22;

//圖表標(biāo)題
chart.ChartTitle = "折線圖例子";
//設(shè)置字體加粗和大小
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;
//設(shè)置橫坐標(biāo)的標(biāo)題
chart.PrimaryCategoryAxis.Title = "月份";
chart.PrimaryCategoryAxis.Font.IsBold = true;
chart.PrimaryCategoryAxis.TitleArea.IsBold = true;
//設(shè)置縱坐標(biāo),也就是值 的標(biāo)題
chart.PrimaryValueAxis.Title = "銷售額";
chart.PrimaryValueAxis.HasMajorGridLines = false;
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90;
chart.PrimaryValueAxis.MinValue = 1000;
chart.PrimaryValueAxis.TitleArea.IsBold = true;
//循環(huán)繪制不同國家的銷售額折線圖,有多個(gè)系列
foreach (Spire.Xls.Charts.ChartSerie cs in chart.Series)
{
 cs.Format.Options.IsVaryColor = true;
 cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = true;   
}

實(shí)際的效果和原始數(shù)據(jù)如下圖所示:

  其他圖表的過程都類似,可以在幫助文檔中找到相關(guān)例子。

3.C#設(shè)置Excel圖表

3.1 將圖表保存為圖片

  Excel生成的圖表是可以保存為圖片的。在Spire.XLS中,這些操作已經(jīng)變得非常簡單。首先獲取Workbook對象的SaveChartAsImage方法獲取指定sheet中的所有圖表。然后循環(huán)將圖片對象依次保存即可,下面是主要代碼:

Workbook workbook = new Workbook();
workbook.LoadFromFile("chart.xlsx", ExcelVersion.Version2010);
Worksheet sheet=workbook.Worksheets[0];
Image[] imgs = workbook.SaveChartAsImage(sheet);
for (int i = 0; i < imgs.Length; i++)
{
 imgs[i].Save(string.Format("img-{0}.png", i), ImageFormat.Png);
}

3.2 位置調(diào)整

  Excel中的圖表的位置已經(jīng)在前面介紹過,還有一個(gè)可以調(diào)整大小的功能。使用Width和Height方法直接設(shè)置大小即可。

chart.Width = 400;
chart.Height = 250;

  上面就是一些常規(guī)的操作和使用,總的來說還是比較簡單,如果需要比較細(xì)致的,可以查看API文檔,根據(jù)方法來所要的功能來找,實(shí)現(xiàn)起來也會很容易的。

[1].http://baike.haosou.com/doc/5449555-5687924.html

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論