C# 创建Excel气泡图的实例代码

yizhihongxing

下面是详细的讲解。

1.前言

在使用软件的过程中,Excel无疑是一个非常常用的工具。其中,Excel中的图表功能可以让我们在数据分析的时候更加直观。

很多时候,我们需要通过程序生成Excel中的图表。本篇文章,将介绍如何使用C#代码创建Excel中的气泡图。

2.实现思路

气泡图是一种比较常用的图表形式,通过圆形的大小和位置表现数据,非常能够清晰地展示各个数据之间的关系。

创建Excel中的气泡图,需要进行以下步骤:

1.引入Excel Interop库
2.创建Excel对象
3.创建工作簿和工作表
4.向工作表中填充数据
5.创建气泡图并设置图表属性
6.将气泡图插入到工作表中
7.保存Excel文件

3.实例代码

3.1 示例1:生成简单的气泡图

下面是一个简单的示例代码,用于生成带有标题和数据源的气泡图:

using Excel = Microsoft.Office.Interop.Excel;

namespace CreatingBubbleChartInExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            Excel.Application excel = new Excel.Application();

            Excel.Workbook workbook = excel.Workbooks.Add();

            Excel.Worksheet worksheet = workbook.Worksheets.Add();

            worksheet.Name = "Bubble Chart";

            // 设置数据源
            worksheet.Cells[1, 1].Value = "国家";
            worksheet.Cells[1, 2].Value = "人均GDP";
            worksheet.Cells[1, 3].Value = "总人口";
            worksheet.Cells[1, 4].Value = "平均寿命";
            worksheet.Cells[2, 1].Value = "中国";
            worksheet.Cells[2, 2].Value = 9427;
            worksheet.Cells[2, 3].Value = 1379000000;
            worksheet.Cells[2, 4].Value = 76.3;
            worksheet.Cells[3, 1].Value = "印度";
            worksheet.Cells[3, 2].Value = 2573;
            worksheet.Cells[3, 3].Value = 1339000000;
            worksheet.Cells[3, 4].Value = 69.8;
            worksheet.Cells[4, 1].Value = "美国";
            worksheet.Cells[4, 2].Value = 56287;
            worksheet.Cells[4, 3].Value = 328200000;
            worksheet.Cells[4, 4].Value = 78.9;
            worksheet.Cells[5, 1].Value = "巴西";
            worksheet.Cells[5, 2].Value = 8920;
            worksheet.Cells[5, 3].Value = 210100000;
            worksheet.Cells[5, 4].Value = 76.7;
            worksheet.Cells[6, 1].Value = "日本";
            worksheet.Cells[6, 2].Value = 39058;
            worksheet.Cells[6, 3].Value = 126800000;
            worksheet.Cells[6, 4].Value = 84.6;
            worksheet.Cells[7, 1].Value = "俄罗斯";
            worksheet.Cells[7, 2].Value = 10702;
            worksheet.Cells[7, 3].Value = 144500000;
            worksheet.Cells[7, 4].Value = 71.9;

            // 创建气泡图
            Excel.ChartObjects chartObjects = worksheet.ChartObjects();
            Excel.ChartObject chartObject = chartObjects.Add(300, 0, 450, 350);
            Excel.Chart chart = chartObject.Chart;
            chart.ChartType = Excel.XlChartType.xlBubble;
            chart.SetSourceData(worksheet.Range["A1:D7"]);
            chart.HasTitle = true;
            chart.ChartTitle.Text = "各国人均GDP与总人口的关系图";

            // 保存Excel文件
            workbook.SaveAs("BubbleChart.xlsx");

            workbook.Close(0);
            excel.Quit();
        }
    }
}

在上述代码中,我们首先创建一个Excel对象和一个工作簿。然后,我们添加了一个名为“Bubble Chart”的工作表,并向其中添加了数据源。接着,我们创建了一个气泡图,并设置它的类型、数据源和标题。最后,我们将Excel文件保存在本地磁盘上。

3.2 示例2:进阶气泡图

下面是一个进阶的示例代码,用于生成带有多组数据的复杂气泡图:

using Excel = Microsoft.Office.Interop.Excel;

namespace CreatingBubbleChartInExcel
{
    class Program
    {
        static void Main(string[] args)
        {
            Excel.Application excel = new Excel.Application();

            Excel.Workbook workbook = excel.Workbooks.Add();

            // 创建Sheet1
            Excel.Worksheet worksheet1 = workbook.Worksheets.Add();
            worksheet1.Name = "Bubble 1";
            worksheet1.Cells[1, 1].Value = "国家";
            worksheet1.Cells[1, 2].Value = "人均GDP";
            worksheet1.Cells[1, 3].Value = "总人口";
            worksheet1.Cells[1, 4].Value = "平均寿命";
            worksheet1.Cells[2, 1].Value = "中国";
            worksheet1.Cells[2, 2].Value = 9427;
            worksheet1.Cells[2, 3].Value = 1379000000;
            worksheet1.Cells[2, 4].Value = 76.3;
            worksheet1.Cells[3, 1].Value = "印度";
            worksheet1.Cells[3, 2].Value = 2573;
            worksheet1.Cells[3, 3].Value = 1339000000;
            worksheet1.Cells[3, 4].Value = 69.8;
            worksheet1.Cells[4, 1].Value = "美国";
            worksheet1.Cells[4, 2].Value = 56287;
            worksheet1.Cells[4, 3].Value = 328200000;
            worksheet1.Cells[4, 4].Value = 78.9;
            worksheet1.Cells[5, 1].Value = "巴西";
            worksheet1.Cells[5, 2].Value = 8920;
            worksheet1.Cells[5, 3].Value = 210100000;
            worksheet1.Cells[5, 4].Value = 76.7;
            worksheet1.Cells[6, 1].Value = "日本";
            worksheet1.Cells[6, 2].Value = 39058;
            worksheet1.Cells[6, 3].Value = 126800000;
            worksheet1.Cells[6, 4].Value = 84.6;

            // 创建Sheet2
            Excel.Worksheet worksheet2 = workbook.Worksheets.Add();
            worksheet2.Name = "Bubble 2";
            worksheet2.Cells[1, 1].Value = "平均工资";
            worksheet2.Cells[1, 2].Value = "学历";
            worksheet2.Cells[1, 3].Value = "职位等级";
            worksheet2.Cells[2, 1].Value = 7694;
            worksheet2.Cells[2, 2].Value = "本科";
            worksheet2.Cells[2, 3].Value = "高级";
            worksheet2.Cells[3, 1].Value = 5423;
            worksheet2.Cells[3, 2].Value = "大专";
            worksheet2.Cells[3, 3].Value = "中级";
            worksheet2.Cells[4, 1].Value = 4568;
            worksheet2.Cells[4, 2].Value = "高中";
            worksheet2.Cells[4, 3].Value = "中级";
            worksheet2.Cells[5, 1].Value = 3045;
            worksheet2.Cells[5, 2].Value = "初中";
            worksheet2.Cells[5, 3].Value = "初级";
            worksheet2.Cells[6, 1].Value = 2321;
            worksheet2.Cells[6, 2].Value = "小学";
            worksheet2.Cells[6, 3].Value = "初级";

            // 创建气泡图
            Excel.ChartObjects chartObjects = worksheet1.ChartObjects();
            Excel.ChartObject chartObject = chartObjects.Add(0, 0, 450, 350);
            Excel.Chart chart = chartObject.Chart;
            chart.ChartType = Excel.XlChartType.xlBubble;
            chart.SetSourceData(worksheet1.Range["A1:D6"]);
            chart.HasTitle = true;
            chart.ChartTitle.Text = "各国人均GDP与总人口的关系图";

            // 设置气泡图数据系列数
            chart.SeriesCollection().NewSeries();
            chart.SeriesCollection().NewSeries();

            // 添加数据系列
            chart.SeriesCollection(2).Values = worksheet2.Range["A2:A6"];
            chart.SeriesCollection(2).XValues = worksheet2.Range["B2:B6"];
            chart.SeriesCollection(2).BubbleSizes = worksheet2.Range["C2:C6"];
            chart.SeriesCollection(2).Name = "工资";

            // 设置工资数据系列的图表类型为气泡图
            chart.SeriesCollection(2).ChartType = Excel.XlChartType.xlBubble;

            // 保存Excel文件
            workbook.SaveAs("BubbleChart.xlsx");

            workbook.Close(0);
            excel.Quit();
        }
    }
}

在上述代码中,我们创建了两个工作表。其中一个包含有关各个国家的数据,另一个包含有关不同学历、职位等级和平均工资的数据。我们使用第一个数据源创建了一个气泡图,并使用了第二个数据源来添加一个新的数据系列。在添加了新的数据系列后,我们需要设置气泡图数据系列数,并且将工资数据系列的图表类型设置为气泡图。

除此之外,程序的其他部分与示例1相同。

4. 结语

通过本篇文章的介绍,您已经了解了如何使用C#代码创建Excel中的气泡图。通过这种方法,您可以更加自动化地生成图表并轻松地将数据可视化。希望这篇文章能够对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 创建Excel气泡图的实例代码 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • timespan使用方法详解

    TimeSpan使用方法详解 什么是TimeSpan? TimeSpan是.NET Framework中表示时间间隔的一个结构体,它用于表示两个时间点之间的时间间隔,或一段时间的持续时间。 TimeSpan包括天数、小时数、分钟数、秒数和毫秒数,可以使用各种方式构造TimeSpan实例。TimeSpan在.NET平台中被广泛用于处理时间。 在代码中创建Tim…

    C# 2023年6月1日
    00
  • C# networkcomms 3.0实现模拟登陆总结

    我来为您详细讲解“C#networkcomms3.0实现模拟登陆总结”的完整攻略。 一、背景介绍 在网络应用开发中,模拟登陆是经常需要用到的技能。本文将介绍如何使用C#及networkcomms3.0实现模拟登陆。 二、实现过程 1. 引入相关库 首先需要在项目中引入NetworkCommsDotNet库,可以通过nuget进行引入。 Install-Pac…

    C# 2023年5月15日
    00
  • C#使用BinaryFormatter类、ISerializable接口、XmlSerializer类进行序列化和反序列化

    序列化是将对象转换为一种格式,以便在需要时可以将其反序列化为原始对象。C#中使用以下三种方式进行序列化和反序列化: BinaryFormatter类:将对象序列化为二进制格式,是.NET中最常用的序列化方式,可以将序列化后的数据存储到磁盘、内存或网络中。 XmlSerializer类:将对象序列化为XML格式,适合在不同平台间传输数据。 ISerializa…

    C# 2023年5月31日
    00
  • ASP.NET中HiddenField隐藏域控件的使用方法

    下面是ASP.NET中HiddenField隐藏域控件的使用方法攻略。 一、什么是HiddenField隐藏域控件 HiddenField隐藏域控件是ASP.NET Web表单中的一个服务器端控件,它会生成一个HTML隐藏域,可以用于在Web页面中存储一些不希望被用户看到的数据,比如一些服务器端的数据。 二、HiddenField隐藏域控件的使用方法 1. …

    C# 2023年6月3日
    00
  • C#操作配置文件app.config、web.config增删改

    C#操作配置文件app.config、web.config增删改可以使用System.Configuration命名空间中的ConfigurationManager和Configuration类。下面分别介绍这两个类的使用方法: 1.使用ConfigurationManager读写配置文件 ConfigurationManager类可以方便地读写配置文件,其…

    C# 2023年6月1日
    00
  • C#中字符串与字节数组的转换方式

    C# 中字符串和字节数组是非常常见的数据类型,字符串和字节数组可以相互转换。在某些场景下,需要在两种类型的数据之间进行转换。因此,了解如何在 C# 中转换字符串和字节数组是非常必要的。 字符串到字节数组的转换 在 C# 中,字符串转换为字节数组需要使用 System.Text.Encoding 类。Encoding 类是 .NET Framework 中存储…

    C# 2023年6月7日
    00
  • C#异步的世界(下)

    当异步操作越来越普及,开发者在C#异步编程中应该如何实现呢?本文将继续讲解C#异步的世界(下),从Task和async/await的用法及实现机制,以及TPL的使用等方面进行详细介绍,帮助读者更好地掌握异步编程。 Task和async/await Task的定义和用法 Task是.NET Framework 4.0中新增的一种类型,用于表示尚未完成的操作。通…

    C# 2023年5月14日
    00
  • C#中LINQ的Select与SelectMany函数使用

    当我们需要对一个集合进行转换时,可以使用C#中的LINQ(Language Integrated Query)语句来实现。其中,LINQ中的Select和SelectMany函数就是用来做数据集合转换的。 Select函数 函数介绍 Select函数可以将集合中的每个元素转换为新的类型或值,并返回一个新的集合。Select函数的返回值类型为IEnumerab…

    C# 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部