博客 / 詳情

返回

Excel處理控件Aspose.Cells教程:使用C#在Excel中創建漏斗圖

使用漏斗圖可以更清晰地可視化轉化率、銷售渠道或任何層級數據集。本文將介紹如何使用 C# 和Aspose.Cells for .NET在 Excel 中創建漏斗圖。只需幾行代碼,即可自動生成極具視覺衝擊力的漏斗圖,並可將其導出為 XLSX、PDF 或圖像格式。

Aspose.Cells官方試用版免費下載,請聯繫Aspose官方授權代理商慧都科技

加入Aspose技術交流QQ羣(1041253375),與更多小夥伴一起探討提升開發技能。

用於創建漏斗圖的 C# Excel 庫

Aspose.Cells for .NET是一個功能強大的電子表格庫,它使開發人員能夠以編程方式創建、修改和呈現 Excel 文件。它提供了一系列豐富的圖表類型,包括漏斗圖,而漏斗圖在 Microsoft Office 原生服務器端互操作庫中並不提供。

使用 Aspose.Cells for .NET 的主要優勢:

  • 功能全面的API——無需COM依賴即可完全訪問Excel功能。
  • 服務器端友好——無需安裝微軟Office。
  • 高性能——以最小的內存佔用處理大型工作簿。
  • 多種輸出格式——保存為 XLSX、XLS、CSV、PDF、PNG 等格式。

快速入門:

  1. 從慧都網下載最新版本。

  2. 通過 NuGet 安裝:

PM> Install-Package Aspose.Cells

使用 C# 在 Excel 中創建漏斗圖

以下是兩個完整的、可運行的示例,展示瞭如何操作:

  1. 根據靜態數據集創建基本漏斗圖。
  2. 自定義漏斗圖(顏色、數據標籤和圖例)。

注意– 所有代碼片段均使用.NET 6.0或更高版本編譯,目標框架為net6.0(或任何更高版本)。請將 `<folder>` 替換outputPath為您計算機上的相應文件夾。

示例 1 – 基本漏斗圖

// ------------------------------------------------------------------
// 1. Create a new workbook and obtain the first worksheet.
// ------------------------------------------------------------------
var workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Name = "FunnelData";

// ------------------------------------------------------------------
// 2. Populate worksheet with sample funnel data.
//    A column ¨C Stage description
//    B column ¨C Number of items at each stage
// ------------------------------------------------------------------
//    A          B
// 1  Stage      Count
// 2  Lead       5000
// 3  Qualified  3200
// 4  Proposal   2100
// 5  Negotiation1500
// 6  Closed     950
// ------------------------------------------------------------------
sheet.Cells["A1"].PutValue("Stage");
sheet.Cells["B1"].PutValue("Count");

string[] stages = { "Lead", "Qualified", "Proposal", "Negotiation", "Closed" };
int[] counts = { 5000, 3200, 2100, 1500, 950 };

for (int i = 0; i < stages.Length; i++)
{
    sheet.Cells[i + 1, 0].PutValue(stages[i]);   // Column A
    sheet.Cells[i + 1, 1].PutValue(counts[i]);   // Column B
}

// ------------------------------------------------------------------
// 3. Add a Funnel chart object.
// ------------------------------------------------------------------
int chartIndex = sheet.Charts.Add(ChartType.Funnel, 7, 0, 25, 12);
Chart funnelChart = sheet.Charts[chartIndex];
funnelChart.Title.Text = "Sales Funnel";

// ------------------------------------------------------------------
// 4. Define the data range for the chart.
//    Series data ¨C B2:B6 (counts)
//    Category data ¨C A2:A6 (stages)
// ------------------------------------------------------------------
funnelChart.NSeries.Add("=FunnelData!$B$2:$B$6", true);
funnelChart.NSeries.CategoryData = "=FunnelData!$A$2:$A$6";

// ------------------------------------------------------------------
// 5. Save the workbook.
// ------------------------------------------------------------------
string outputPath = "FunnelChart_Basic.xlsx";
workbook.Save(outputPath);
Console.WriteLine($"Workbook saved to {outputPath}");

代碼的作用

  1. 創建工作簿並添加代表典型銷售流程的示例數據。
  2. 從第 7 行第 0 列開始插入漏斗圖( )。ChartType.Funnel
  3. 將序列值和類別綁定到數據範圍。
  4. 將結果保存為FunnelChart_Basic.xlsx.

在 Microsoft Excel 中打開生成的文件——您將看到一個清晰的漏斗圖,該圖直觀地顯示了每個階段的下降情況。

示例 2 – 自定義漏斗圖(顏色、數據標籤、圖例)

// ------------------------------------------------------------------
// 1. Prepare workbook and data.
// ------------------------------------------------------------------
var wb = new Workbook();
Worksheet ws = wb.Worksheets[0];
ws.Name = "Pipeline";

ws.Cells["A1"].PutValue("Stage");
ws.Cells["B1"].PutValue("Leads");

string[] stageNames = { "Awareness", "Interest", "Consideration", "Intent", "Purchase" };
int[] leadCounts = { 8000, 5600, 3800, 2100, 950 };

for (int i = 0; i < stageNames.Length; i++)
{
    ws.Cells[i + 1, 0].PutValue(stageNames[i]);
    ws.Cells[i + 1, 1].PutValue(leadCounts[i]);
}

// ------------------------------------------------------------------
// 2. Insert a Funnel chart.
// ------------------------------------------------------------------
int idx = ws.Charts.Add(ChartType.Funnel, 8, 0, 28, 13);
Chart funnel = ws.Charts[idx];
funnel.Title.Text = "Marketing Funnel";

// Bind series and categories.
funnel.NSeries.Add("=Pipeline!$B$2:$B$6", true);
funnel.NSeries.CategoryData = "=Pipeline!$A$2:$A$6";

// ------------------------------------------------------------------
// 3. Apply custom colors to each funnel slice.
// ------------------------------------------------------------------
Color[] sliceColors = {
    Color.FromArgb(91, 155, 213),   // Awareness
    Color.FromArgb(237, 125, 49),   // Interest
    Color.FromArgb(165, 165, 165), // Consideration
    Color.FromArgb(255, 192, 0),   // Intent
    Color.FromArgb(112, 173, 71)   // Purchase
};

for (int i = 0; i < funnel.NSeries[0].Points.Count; i++)
{
    funnel.NSeries[0].Points[i].Area.ForegroundColor = sliceColors[i];
    funnel.NSeries[0].Points[i].Area.Formatting = FormattingType.Custom;
}

// ------------------------------------------------------------------
// 4. Show data labels (value + percentage).
// ------------------------------------------------------------------
funnel.NSeries[0].DataLabels.ShowValue = true;
funnel.NSeries[0].DataLabels.ShowPercentage = true;
funnel.NSeries[0].DataLabels.Position = LabelPositionType.Center;

// ------------------------------------------------------------------
// 5. Adjust legend ¨C place it at the bottom and use a horizontal layout.
// ------------------------------------------------------------------
funnel.ShowLegend = true;
funnel.Legend.Position = LegendPositionType.Bottom;

// ------------------------------------------------------------------
// 6. Save the workbook.
// ------------------------------------------------------------------
string outFile = "FunnelChart_Customized.xlsx";
wb.Save(outFile);
Console.WriteLine($"Customized funnel chart saved to {outFile}");

定製亮點

  • 顏色–每個漏斗切片都使用不同的前景色Area.ForegroundColor。FormattingType.Custom
  • 數據標籤– 啓用後,數值和百分比顯示將居中顯示在每個切片內。
  • 圖例– 位於底部,採用水平佈局,以便更好地閲讀。

點擊FunnelChart_Customized.xlsx查看完整樣式的漏斗圖,適用於演示或報告。

結論

使用Aspose.Cells for .NET創建漏斗圖非常簡單,只需幾行 C# 代碼即可。該庫提供對數據綁定、樣式和導出選項的全面控制,使其成為服務器端報表、儀表板和自動生成 Excel 表格的理想選擇。您可以以上述示例為基礎,並根據自己的數據源和視覺需求進行調整。

Aspose.Cells官方試用版免費下載,請聯繫Aspose官方授權代理商慧都科技

加入Aspose技術交流QQ羣(1041253375),與更多小夥伴一起探討提升開發技能。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.