一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - ASP.NET教程 - .NET讀寫(xiě)Excel工具Spire.Xls使用 重量級(jí)的Excel圖表功能(5)

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

2020-05-19 11:39數(shù)據(jù)之巔 ASP.NET教程

這篇文章主要為大家詳細(xì)介紹了.NET讀寫(xiě)Excel工具Spire.Xls使用,重量級(jí)的Excel圖表功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

1.Excel中的圖表

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

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

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

2.1 Spire.Xls的圖表類(lèi)

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

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

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

1.給指定的Sheet添加需要的Excel圖表的類(lèi)型;

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

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

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

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

2.2 生成餅狀圖

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//創(chuàng)建餅狀圖表
Chart chart = sheet.Charts.Add(ExcelChartType.Pie);
//設(shè)置圖表的數(shù)據(jù)范圍,使用的也是和前面單元格獲取的Range對(duì)象
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"];

如下所示的效果:

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

2.3 生成折線圖

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//給Sheet對(duì)象添加一個(gè)圖表對(duì)象,可以直接添加類(lèi)型,也可以單獨(dú)用ChartType賦值來(lái)添加
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 = "銷(xiāo)售額";
chart.PrimaryValueAxis.HasMajorGridLines = false;
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90;
chart.PrimaryValueAxis.MinValue = 1000;
chart.PrimaryValueAxis.TitleArea.IsBold = true;
//循環(huán)繪制不同國(guó)家的銷(xiāo)售額折線圖,有多個(gè)系列
foreach (Spire.Xls.Charts.ChartSerie cs in chart.Series)
{
 cs.Format.Options.IsVaryColor = true;
 cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = true;  
}

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

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

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

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

3.1 將圖表保存為圖片

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

?
1
2
3
4
5
6
7
8
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)在前面介紹過(guò),還有一個(gè)可以調(diào)整大小的功能。使用Width和Height方法直接設(shè)置大小即可。

?
1
2
chart.Width = 400;
chart.Height = 250;

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.cnblogs.com/asxinyu/p/Spire_XLS_5_Chart.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲视频一区二区在线观看 | 1024国产基地永久免费 | 精品久久香蕉国产线看观看麻豆 | 亚洲六月丁香六月婷婷蜜芽 | 亚洲午夜小视频 | 91麻豆国产福利在线观看 | av中文字幕网免费观看 | 精品人伦一区二区三区潘金莲 | 欧美日韩久久中文字幕 | 91啦中文在线观看 | 风间由美m3u8在线 | 美女扒开腿让男生捅 | 日韩精品视频福利资源站 | 国产亚洲一欧美一区二区三区 | 亚洲h片 | 成人福利在线视频免费观看 | 成人动漫在线免费看 | 图片专区亚洲欧美另类 | xnxx老师 | 91啦中文在线观看 | 日本邪恶动态 | 乌克兰一级片 | 成年人视频免费在线播放 | 精品精品国产自在现拍 | 无码精品一区二区三区免费视频 | 草莓香蕉绿巨人丝瓜榴莲污在线观看 | 精品9e精品视频在线观看 | 午夜视频一区 | 天堂网在线.www天堂在线资源 | 久久精品国产在热亚洲完整版 | 紧身裙女教师波多野结衣 | www.av色| 亚洲精品国产专区91在线 | 护士让我吃奶我扒她奶 | 精品久久久久久久高清 | 精品无码一区二区三区中文字幕 | 国产福利专区精品视频 | 欧美日韩国产一区二区三区欧 | 2020年国产精品午夜福利在线观看 | 日韩在线 在线播放 | 乌克兰精品摘花处破 |