轉帖|使用教程|編輯:黃竹雯|2019-03-08 14:52:15.000|閱讀 491 次
概述:在Excel中添加圖表時,我們通常是選擇所有的數據區域,但有些時候不是所有的數據都需要顯示在圖表中的,比如下面的表格中,我們只需要用到其中有填充顏色的那些行的數據,本文將介紹如何使用Spire.XLS組件實現該功能。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Spire.XLS是一款專業的Excel控件,無需安裝微軟Excel,也能擁有Excel的全套功能,能夠為工廠智能化提供完善的Excel需求。
在Excel中添加圖表時,我們通常是選擇所有的數據區域,但有些時候不是所有的數據都需要顯示在圖表中的,比如下面的表格中,我們只需要用到其中有填充顏色的那些行的數據,本文將介紹如何使用Spire.XLS組件實現該功能。

代碼段:
//創建Workbook實例
Workbook workbook = new Workbook();
//加載Excel文檔
workbook.LoadFromFile(@"Input.xlsx");
//獲取第一個工作表
Worksheet sheet = workbook.Worksheets[0];
//添加圖表
Chart chart = sheet.Charts.Add();
chart.SeriesDataFromRange = false;
//設置圖表的位置
chart.LeftColumn = 6;
chart.TopRow = 1;
chart.RightColumn = 12;
chart.BottomRow = 13;
//添加三個系列到圖表,調用XlsRange.AddCombinedRange(CellRange cr)方法來為系列設置多個不連貫的數據區域
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;
//設置圖表標題為空
chart.ChartTitle = string.Empty;
//保存文檔
workbook.SaveToFile("Output.xlsx");
效果圖:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn