news 2026/7/18 11:17:23

Excel处理控件Aspose.Cells教程:使用C#在Excel中创建折线图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Excel处理控件Aspose.Cells教程:使用C#在Excel中创建折线图

可视化长期趋势是许多商业报告的核心需求。折线图能够清晰直观地呈现连续轴上的数据序列,因此非常适合展示业绩、销售或任何基于时间的数据。在本指南中,我们将向您展示如何使用Aspose.Cells for .NET和 C# 以编程方式生成折线图。

Aspose.Cells官方试用版免费下载

用于创建折线图的 C# Excel 库

Aspose.Cells for .NET是一款功能全面的 API,使开发人员无需 Microsoft Office 即可处理 Excel 文件。它支持创建、编辑和自定义各种类型的图表,包括折线图。主要优势包括:

  • 丰富的 API 接口——完全控制图表类型、系列、坐标轴和格式。
  • 无 COM 依赖项– 可在任何支持 .NET 的平台上运行。
  • 高性能——高效处理大型工作簿。
  • 支持多种格式——读/写 XLSX、XLS、CSV、PDF 等格式。

入门

  1. 从慧都网下载最新的 Aspose.Cells for .NET

  2. 通过 NuGet安装:PM> Install-Package Aspose.Cells

  3. Aspose.Cells在你的项目中添加对它的引用。

使用 C# 在 Excel 中创建折线图

以下是两个实际例子:

  1. 简单的单系列折线图——非常适合快速可视化趋势。
  2. 带辅助轴的多系列折线图——在比较不同尺度的数据集时非常有用。

这两个例子都是完整的、可直接编译的 C# 程序。

示例 1 – 简单单系列折线图

// 1. Create a new workbook and obtain the first worksheet. var workbook = new Workbook(); var sheet = workbook.Worksheets[0]; // ------------------------------------------------------------ // 2. Populate worksheet with sample data. // ------------------------------------------------------------ // A B // 1 Month Sales // 2 Jan 120 // 3 Feb 150 // 4 Mar 180 // 5 Apr 210 // ------------------------------------------------------------ string[] months = { "Jan", "Feb", "Mar", "Apr" }; double[] sales = { 120, 150, 180, 210 }; sheet.Cells["A1"].PutValue("Month"); sheet.Cells["B1"].PutValue("Sales"); for (int i = 0; i < months.Length; i++) { sheet.Cells[i + 1, 0].PutValue(months[i]); // Column A sheet.Cells[i + 1, 1].PutValue(sales[i]); // Column B } // ------------------------------------------------------------ // 3. Add a Line chart object. // ------------------------------------------------------------ // Parameters: (type, upper left row, upper left column, lower right row, lower right column) int chartIndex = sheet.Charts.Add(ChartType.Line, 6, 0, 26, 10); Chart chart = sheet.Charts[chartIndex]; chart.Title.Text = "Monthly Sales Trend"; // ------------------------------------------------------------ // 4. Add the series ¨C data range refers to the Sales column. // ------------------------------------------------------------ int seriesIndex = chart.NSeries.Add("=Sheet1!$B$2:$B$5", true); chart.NSeries[seriesIndex].Name = "Sales"; // ------------------------------------------------------------ // 5. Set category (X?axis) data ¨C months. // ------------------------------------------------------------ chart.NSeries.CategoryData = "=Sheet1!$A$2:$A$5"; // ------------------------------------------------------------ // 6. Optional: customize axes titles. // ------------------------------------------------------------ chart.CategoryAxis.Title.Text = "Month"; chart.ValueAxis.Title.Text = "Sales"; // ------------------------------------------------------------ // 7. Save the workbook. // ------------------------------------------------------------ workbook.Save("SimpleLineChart.xlsx"); Console.WriteLine("Workbook with Line chart saved as SimpleLineChart.xlsx");

解释

  • 工作簿在内存中创建,并填充了月份和销售数据。
  • ChartType.Line创建基本折线图。
  • NSeries.Add定义数据系列;CategoryData分配 X 轴标签。
  • 生成的文件SimpleLineChart.xlsx包含一个格式完整的折线图。

示例 2 – 带辅助坐标轴的多系列折线图

// 1. Initialize workbook and worksheet. var workbook = new Workbook(); var sheet = workbook.Worksheets[0]; // ------------------------------------------------------------ // 2. Add sample data for two metrics: Revenue (primary) and // Profit Margin (secondary). // ------------------------------------------------------------ // A B C // 1 Month Revenue Profit% // 2 Jan 3000 12 // 3 Feb 3500 15 // 4 Mar 4000 13 // 5 Apr 3800 14 // ------------------------------------------------------------ string[] months = { "Jan", "Feb", "Mar", "Apr" }; double[] revenue = { 3000, 3500, 4000, 3800 }; double[] profitPct = { 12, 15, 13, 14 }; sheet.Cells["A1"].PutValue("Month"); sheet.Cells["B1"].PutValue("Revenue"); sheet.Cells["C1"].PutValue("Profit%"); for (int i = 0; i < months.Length; i++) { sheet.Cells[i + 1, 0].PutValue(months[i]); // Month sheet.Cells[i + 1, 1].PutValue(revenue[i]); // Revenue sheet.Cells[i + 1, 2].PutValue(profitPct[i]); // Profit% } // ------------------------------------------------------------ // 3. Insert a Line chart. // ------------------------------------------------------------ int chartIdx = sheet.Charts.Add(ChartType.Line, 7, 0, 27, 12); Chart chart = sheet.Charts[chartIdx]; chart.Title.Text = "Revenue vs. Profit Margin"; chart.NSeries.CategoryData = "=Sheet1!$A$2:$A$5"; // ------------------------------------------------------------ // 4. Add Revenue series (primary axis). // ------------------------------------------------------------ int revSeriesIdx = chart.NSeries.Add("=Sheet1!$B$2:$B$5", true); chart.NSeries[revSeriesIdx].Name = "Revenue"; chart.NSeries[revSeriesIdx].Type = ChartType.Line; // Explicit, though default // ------------------------------------------------------------ // 5. Add Profit% series (secondary axis) and set marker style. // ------------------------------------------------------------ int profitSeriesIdx = chart.NSeries.Add("=Sheet1!$C$2:$C$5", true); chart.NSeries[profitSeriesIdx].Name = "Profit%"; chart.NSeries[profitSeriesIdx].Type = ChartType.Line; chart.NSeries[profitSeriesIdx].PlotOnSecondAxis = true; // Use secondary Y?axis // Optional: customize marker for profit series chart.NSeries[profitSeriesIdx].Marker.MarkerStyle = ChartMarkerType.Circle; chart.NSeries[profitSeriesIdx].Marker.MarkerSize = 10; chart.NSeries[profitSeriesIdx].Marker.Area.ForegroundColor = Color.Orange; // ------------------------------------------------------------ // 6. Axis titles. // ------------------------------------------------------------ chart.CategoryAxis.Title.Text = "Month"; chart.ValueAxis.Title.Text = "Revenue (USD)"; chart.SecondValueAxis.Title.Text = "Profit %"; // ------------------------------------------------------------ // 7. Save workbook. // ------------------------------------------------------------ workbook.Save("MultiSeriesLineChart.xlsx"); Console.WriteLine("Workbook saved as MultiSeriesLineChart.xlsx");

要点

  • 增加了两个系列:收入(主轴)和利润率(次轴),以说明不同的尺度。
  • PlotOnSecondAxis = true将第二组数据移至 Y 轴右侧。
  • 标记自定义使次要系列在视觉上独具特色。
  • 最终文件MultiSeriesLineChart.xlsx包含一个功能齐全的多系列折线图。

结论

使用Aspose.Cells for .NET创建折线图既简单又高度可定制。无论您需要快速绘制单系列趋势线,还是需要创建带有辅助坐标轴的复杂多系列图表,该库都可通过直观的 API 提供全面的控制。您可以以提供的代码示例为起点,并根据您的具体报表需求进行调整。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 22:37:44

企业AI转型利器:Dify平台如何支撑大规模应用构建?

企业AI转型利器&#xff1a;Dify平台如何支撑大规模应用构建&#xff1f; 在大模型技术席卷全球的今天&#xff0c;越来越多的企业意识到&#xff1a;仅仅“用上”AI已经不够了——关键在于能否快速、稳定、可扩展地将AI能力嵌入核心业务流程。然而现实是&#xff0c;许多团队仍…

作者头像 李华
网站建设 2026/7/13 21:47:49

教育领域AI助手开发:基于Dify的实践案例分享

教育领域AI助手开发&#xff1a;基于Dify的实践案例分享 在一所重点中学的课后自习室里&#xff0c;一名高二学生正对着物理习题皱眉——“斜面上物体的加速度怎么算&#xff1f;”他打开班级教学App&#xff0c;输入问题。几秒钟后&#xff0c;一个清晰的讲解浮现眼前&#xf…

作者头像 李华
网站建设 2026/7/15 13:40:29

Dify可视化编辑器操作技巧十大秘籍

Dify可视化编辑器高效使用指南 在企业加速拥抱AI的今天&#xff0c;一个现实问题摆在面前&#xff1a;如何让非算法背景的开发者也能快速构建稳定、可维护的LLM应用&#xff1f;手写Prompt容易失控&#xff0c;调试靠猜&#xff0c;协作困难——这些痛点正在被像Dify这样的平台…

作者头像 李华
网站建设 2026/7/15 3:32:35

Dify在金融行业智能投顾场景中的应用探索

Dify在金融行业智能投顾场景中的应用探索 当一位35岁的中产客户打开手机银行APP&#xff0c;输入“我想为孩子存教育金&#xff0c;每年投5万&#xff0c;怎么配置&#xff1f;”时&#xff0c;他期待的不再是一串冷冰冰的产品列表&#xff0c;而是一位懂市场、知风险、能共情的…

作者头像 李华
网站建设 2026/7/17 18:24:20

MonkeyCode:企业级AI编程助手,重新定义安全高效的代码开发体验

在数字化转型的浪潮中&#xff0c;企业研发团队正面临着前所未有的挑战&#xff1a;如何在保证代码安全的前提下&#xff0c;提升开发效率&#xff1f;如何在不泄露核心业务逻辑的情况下&#xff0c;充分利用AI编程助手的强大能力&#xff1f;MonkeyCode应运而生&#xff0c;这…

作者头像 李华
网站建设 2026/7/15 12:24:03

如何在30分钟内完成Open-AutoGLM本地初始化?资深工程师亲授秘诀

第一章&#xff1a;Open-AutoGLM本地初始化概述Open-AutoGLM 是一个面向自动化自然语言处理任务的开源框架&#xff0c;支持在本地环境中快速部署与定制化开发。通过集成大语言模型&#xff08;LLM&#xff09;推理能力与任务编排机制&#xff0c;开发者可在隔离网络环境下构建…

作者头像 李华