文檔首頁(yè)>>Spire.XLS 系列教程>>Spire.XLS 圖表系列教程:C# 如何使用不連續(xù)的數(shù)據(jù)區(qū)域創(chuàng)建圖表
Spire.XLS 圖表系列教程:C# 如何使用不連續(xù)的數(shù)據(jù)區(qū)域創(chuàng)建圖表
Spire.XLS是一款專業(yè)的Excel控件,無(wú)需安裝微軟Excel,也能擁有Excel的全套功能,能夠?yàn)楣S智能化提供完善的Excel需求。
在Excel中添加圖表時(shí),我們通常是選擇所有的數(shù)據(jù)區(qū)域,但有些時(shí)候不是所有的數(shù)據(jù)都需要顯示在圖表中的,比如下面的表格中,我們只需要用到其中有填充顏色的那些行的數(shù)據(jù),本文將介紹如何使用Spire.XLS組件實(shí)現(xiàn)該功能。
代碼段:
//創(chuàng)建Workbook實(shí)例 Workbook workbook = new Workbook(); //加載Excel文檔 workbook.LoadFromFile(@"Input.xlsx"); //獲取第一個(gè)工作表 Worksheet sheet = workbook.Worksheets[0]; //添加圖表 Chart chart = sheet.Charts.Add(); chart.SeriesDataFromRange = false; //設(shè)置圖表的位置 chart.LeftColumn = 6; chart.TopRow = 1; chart.RightColumn = 12; chart.BottomRow = 13; //添加三個(gè)系列到圖表,調(diào)用XlsRange.AddCombinedRange(CellRange cr)方法來(lái)為系列設(shè)置多個(gè)不連貫的數(shù)據(jù)區(qū)域 var cs1 = (ChartSerie)chart.Series.Add(); cs1.Name = sheet.Range["B1"].Value; cs1.CategoryLabels = sheet.Range["A2:A3"].AddCombinedRange(sheet.Range["A5:A6"]).AddCombinedRange(sheet.Range["A8:A9"]); cs1.Values = sheet.Range["B2:B3"].AddCombinedRange(sheet.Range["B5:B6"]).AddCombinedRange(sheet.Range["B8:B9"]); cs1.SerieType = ExcelChartType.LineMarkers; var cs2 = (ChartSerie)chart.Series.Add(); cs2.Name = sheet.Range["C1"].Value; cs2.CategoryLabels = sheet.Range["A2:A3"].AddCombinedRange(sheet.Range["A5:A6"]).AddCombinedRange(sheet.Range["A8:A9"]); cs2.Values = sheet.Range["C2:C3"].AddCombinedRange(sheet.Range["C5:C6"]).AddCombinedRange(sheet.Range["C8:C9"]); cs2.SerieType = ExcelChartType.LineMarkers; var cs3 = (ChartSerie)chart.Series.Add(); cs3.Name = sheet.Range["D1"].Value; cs3.CategoryLabels = sheet.Range["A2:A3"].AddCombinedRange(sheet.Range["A5:A6"]).AddCombinedRange(sheet.Range["A8:A9"]); cs3.Values = sheet.Range["D2:D3"].AddCombinedRange(sheet.Range["D5:D6"]).AddCombinedRange(sheet.Range["D8:D9"]); cs3.SerieType = ExcelChartType.LineMarkers; //設(shè)置圖表標(biāo)題為空 chart.ChartTitle = string.Empty; //保存文檔 workbook.SaveToFile("Output.xlsx");
效果圖: