Logo

C# Excel 为图表添加模拟运算表

photo

2024年06月06日

  Excel中的图表能够将数据可视化,方便我们比较分析数据。但也有一定的局限,例如:不能够直接从图表中读出原来数据的准确值。Excel提供的解决方案是,在图表下方添加一个模拟运算表,即在坐标轴下方添加包含建表时所依照的数据的表格。本文旨在介绍通过免费的Free Spire.XLS在C#独立创建Excel文件,添加数据,生成图表,并添加模拟运算表。

需要使用的命名空间:

using Spire.Xls;
using System.Drawing;

 

步骤详解:

 

步骤1:创建Excel文件,添加表单。

            Workbook workbook = new Workbook();
            workbook.CreateEmptySheets(1);
            Worksheet sheet = workbook.Worksheets[0];
 

步骤二:为单元格添加样本数据,用于一下不生成图表。

 

            sheet.Name = Demo;
            sheet.Range[A1].Value = 月份;
            sheet.Range[A2].Value = 一月;
            sheet.Range[A3].Value = 二月;
            sheet.Range[A4].Value = 三月;
            sheet.Range[A5].Value = 四月;
            sheet.Range[A6].Value = 五月;
            sheet.Range[A7].Value = 六月;
            sheet.Range[B1].Value = 小王;
            sheet.Range[B2].NumberValue = 3.3;
            sheet.Range[B3].NumberValue = 2.5;
            sheet.Range[B4].NumberValue = 2.0;
            sheet.Range[B5].NumberValue = 3.7;
            sheet.Range[B6].NumberValue = 4.5;
            sheet.Range[B7].NumberValue = 4.0;
            sheet.Range[C1].Value = 小新;
            sheet.Range[C2].NumberValue = 3.8;
            sheet.Range[C3].NumberValue = 3.2;
            sheet.Range[C4].NumberValue = 1.7;
            sheet.Range[C5].NumberValue = 3.5;
            sheet.Range[C6].NumberValue = 4.5;
            sheet.Range[C7].NumberValue = 4.3;
            sheet.Range[D1].Value = 小白;
            sheet.Range[D2].NumberValue = 3.0;
            sheet.Range[D3].NumberValue = 2.8;
            sheet.Range[D4].NumberValue = 3.5;
            sheet.Range[D5].NumberValue = 2.3;
            sheet.Range[D6].NumberValue = 3.3;
            sheet.Range[D7].NumberValue = 3.8;

步骤三:利用步骤二填充的数据,生成柱形图,设置其在Excel中的位置,图表名称等。

            Chart chart = sheet.Charts.Add(ExcelChartType.Column3DClustered);
            chart.DataRange = sheet.Range[B1:D7];
            chart.SeriesDataFromRange = false;
            chart.TopRow = 7;
            chart.BottomRow = 28;
            chart.LeftColumn = 3;
            chart.RightColumn =11;
            chart.ChartTitle = 带模拟数据表的柱状图示例;
            chart.ChartTitleArea.IsBold = true;
            chart.ChartTitleArea.Size = 12;
            Spire.Xls.Charts.ChartSerie cs1 = chart.Series[0];      
            cs1.CategoryLabels = sheet.Range[A2:A7];
 

步骤四:为柱状图添加模拟数据表。

           chart.HasDataTable = true;

 

步骤五:保存文档为2010版Excel。

           workbook.SaveToFile(S3.xlsx, ExcelVersion.Version2010);

 

代码运行后效果截图:

 

 

 完整代码:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Spire.Xls;
using System.Drawing;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Workbook workbook = new Workbook();
            workbook.CreateEmptySheets(1);
            Worksheet sheet = workbook.Worksheets[0];

            sheet.Name = Demo;
            sheet.Range[A1].Value = 月份;
            sheet.Range[A2].Value = 一月;
            sheet.Range[A3].Value = 二月;
            sheet.Range[A4].Value = 三月;
            sheet.Range[A5].Value = 四月;
            sheet.Range[A6].Value = 五月;
            sheet.Range[A7].Value = 六月;
            sheet.Range[B1].Value = 小王;
            sheet.Range[B2].NumberValue = 3.3;
            sheet.Range[B3].NumberValue = 2.5;
            sheet.Range[B4].NumberValue = 2.0;
            sheet.Range[B5].NumberValue = 3.7;
            sheet.Range[B6].NumberValue = 4.5;
            sheet.Range[B7].NumberValue = 4.0;
            sheet.Range[C1].Value = 小新;
            sheet.Range[C2].NumberValue = 3.8;
            sheet.Range[C3].NumberValue = 3.2;
            sheet.Range[C4].NumberValue = 1.7;
            sheet.Range[C5].NumberValue = 3.5;
            sheet.Range[C6].NumberValue = 4.5;
            sheet.Range[C7].NumberValue = 4.3;
            sheet.Range[D1].Value = 小白;
            sheet.Range[D2].NumberValue = 3.0;
            sheet.Range[D3].NumberValue = 2.8;
            sheet.Range[D4].NumberValue = 3.5;
            sheet.Range[D5].NumberValue = 2.3;
            sheet.Range[D6].NumberValue = 3.3;
            sheet.Range[D7].NumberValue = 3.8;
            
            Chart chart = sheet.Charts.Add(ExcelChartType.Column3DClustered);
            chart.DataRange = sheet.Range[B1:D7];
            chart.SeriesDataFromRange = false;
            chart.TopRow = 7;
            chart.BottomRow = 28;
            chart.LeftColumn = 3;
            chart.RightColumn =11;
            chart.ChartTitle = 带模拟数据表的柱状图示例;
            chart.ChartTitleArea.IsBold = true;
            chart.ChartTitleArea.Size = 12;
            Spire.Xls.Charts.ChartSerie cs1 = chart.Series[0];      
            cs1.CategoryLabels = sheet.Range[A2:A7];

            chart.HasDataTable = true;
        
            workbook.SaveToFile(S3.xlsx, ExcelVersion.Version2010);
            System.Diagnostics.Process.Start(S3.xlsx);
        }
    }
}

 

 

 

 

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
本文为原创文章,请注意保留出处!

Excel中的图表能够将数据可视化,方便我们比较分析数据。但也有一定的局限,例如:不能够直接从图...C#Excel为图表添加模拟运算表

热门文章

西游记之大圣归来 《西游记之大圣归来》是根据中国传统神话故事《西游记》进行拓展和演绎的3D动画电影。由横店影视、天空之城、燕城十月与微影时代作为出品方,高路动画、恭梓兄弟、世纪长龙、山东影视、东台龙行盛世、淮安西游产业与永康壹禾作为联合出品方出品,田晓鹏执导,张磊、林子杰、刘九容和童自荣等联袂配音。影片讲述了已于五行山下寂寞沉潜五百年的孙悟空被儿时的唐僧——俗名江流儿的小和尚误打误撞地解除了封印,在相互陪伴的冒险之旅中找回初心,完成自我救赎的故事。 作者:Pastore Antonio
1448 浏览量
常用的Centos操作Shell命令 玩WordPress的时候经常会接触到一些常用的命令,老是忘记……人年纪大了就是不给力啊。浏览量:...常用的Centos操作Shell命令 作者:Pastore Antonio
1387 浏览量
ffmpeg+srs 实现直播流 这篇文章是我在做直播流的时候收集的所有素材,没有太多的整理,都放到了脑袋里面了,之后有时间了再整理成...ffmpeg+srs实现直播流 作者:Pastore Antonio
1386 浏览量
项目十大管理和五大过程 PMBOK五大过程组是什么?PMBOK五大过程组是:启动过程、规划过程、执行过程、监...项目十大管理和五大过程 作者:Pastore Antonio
1363 浏览量
[ Office 365 开发系列 ] 身份认证 前言本文完全原创,转载请说明出处,希望对大家有用。通常我们在开发一个应用时,需要考虑用户身份认证...[Office365开发系列]身份认证 作者:Pastore Antonio
1357 浏览量