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

下面是详细的讲解。

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日

相关文章

  • Question:基于C#连续赋值的面试题(解答)

    以下是对“Question:基于C#连续赋值的面试题(解答)”的完整攻略。 问题描述 这个问题描述如下: int i = 1; i = i++ + ++i; 问题解析 这道题主要考察的是 C# 连续赋值的知识点和自增运算符的使用。 连续赋值 先解释一下什么是连续赋值。连续赋值就是我们在一行语句中多次对一个变量进行赋值操作,如下所示: int i; i = 1…

    C# 2023年6月7日
    00
  • 手把手教你AspNetCore WebApi数据验证的实现

    手把手教你AspNetCore WebApi数据验证的实现 在ASP.NET Core WebApi中,数据验证是一个非常重要的功能。在本文中,我们将介绍如何使用ASP.NET Core内置的数据验证功能来验证WebApi中的数据。 数据验证的概念 数据验证是一种确保数据的完整性和准确性的方法。在WebApi中,数据验证可以确保客户端提交的数据符合预期的格式…

    C# 2023年5月16日
    00
  • C#更新SQLServer中TimeStamp字段(时间戳)的方法

    一、概述 TimeStamp字段也叫RowVersion字段,它的存储空间为8个字节,用来表示某一条记录的版本号,取值范围在datetime2类型的范围内,但它不是一个日期时间字段,也不是一个自增长字段,是Sql Server自有的一种数据类型。 在更新数据库表的时候,我们经常要更新TimeStamp字段,下面是C#更新SQLServer中TimeStamp…

    C# 2023年5月31日
    00
  • 用C#编写ActiveX控件(三)

    那么让我们详细讲解一下”用C#编写ActiveX控件(三)”的完整攻略。 什么是ActiveX控件 ActiveX是一种软件组件技术,它允许应用程序在多个不同的操作系统和应用程序之间共享代码。ActiveX控件是一种可以在Web浏览器中嵌入的交互式控件。 为什么用C#编写ActiveX控件 C#是一种非常流行的编程语言,它有着丰富的库和框架,同时也具有强大的…

    C# 2023年6月7日
    00
  • C#封装DBHelper类

    下面是我对“C#封装DBHelper类”的完整攻略: 第一步:创建封装类 首先,我们需要创建一个名为DBHelper的类,这个类将会是一个对应于一个数据库连接的封装,提供了一系列的方法来操作数据库。这个类可以采用单例模式,确保整个应用程序只会有一个数据库连接对象。以下是一个简单的DBHelper类的示例: using System; using System…

    C# 2023年5月31日
    00
  • 深入浅出掌握Unity ShaderLab语法基础

    请听我详细讲解“深入浅出掌握Unity ShaderLab语法基础”的完整攻略。 一、ShaderLab语法基础概述 ShaderLab是Unity中用于编写着色器的语言,它基于CG语言编写,同时又封装了一些常用的函数和数据结构,使得着色器开发变得容易而高效。在使用ShaderLab编写着色器时,需要定义一个合法的Shader程序,并且指定使用哪种渲染方式。…

    C# 2023年6月3日
    00
  • java中的JSONP使用实例详解

    Java中的JSONP使用实例详解 JSONP(JSON with Padding)是一种跨域数据交互的技术,它允许在不同域之间进行数据交互。在Java中,可以使用JSONP来实现跨域数据交互。以下是JSONP的使用实例详解: 1. JSONP的基本原理 JSONP的基本原理是利用标签的跨域特性,将JSON数据作为参数传递给一个回调函数,然后在客户端中调用该…

    C# 2023年5月15日
    00
  • C#中Serializable序列化实例详解

    下面是关于“C#中Serializable序列化实例详解”的完整攻略,包含两个示例。 1. Serializable序列化简介 Serializable是C#中的一个特性,用于将对象序列化为二进制格式,以便在网络上传输或保存到文件中。在C#中,我们可以使用Serializable特性来标记一个类,以便将其序列化为二进制格式。以下是C#中Serializabl…

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