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

简介: Excel中的图表能够将数据可视化,方便我们比较分析数据。但也有一定的局限,例如:不能够直接从图表中读出原来数据的准确值。Excel提供的解决方案是,在图表下方添加一个模拟运算表,即在坐标轴下方添加包含建表时所依照的数据的表格。

  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 ");
        }
    }
}

 

 

 


 

目录
相关文章
|
2月前
|
SQL C# 数据库
EPPlus库的安装和使用 C# 中 Excel的导入和导出
本文介绍了如何使用EPPlus库在C#中实现Excel的导入和导出功能。首先,通过NuGet包管理器安装EPPlus库,然后提供了将DataGridView数据导出到Excel的步骤和代码示例,包括将DataGridView转换为DataTable和使用EPPlus将DataTable导出为Excel文件。接着,介绍了如何将Excel数据导入到数据库中,包括读取Excel文件、解析数据、执行SQL插入操作。
EPPlus库的安装和使用 C# 中 Excel的导入和导出
|
2月前
|
数据挖掘 数据处理 Python
python如何高效处理excel图表案例分享
python如何高效处理excel图表案例分享
41 2
|
3月前
|
文字识别 C# Python
使用C#将几个Excel文件合并去重分类
使用C#将几个Excel文件合并去重分类
32 3
|
3月前
|
Linux C#
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
|
3月前
Excel 进度图表制作
Excel 进度图表制作
38 0
|
3月前
|
开发框架 算法 .NET
C#使用MiniExcel导入导出数据到Excel/CSV文件
C#使用MiniExcel导入导出数据到Excel/CSV文件
81 0
|
5月前
|
C#
【C#】C#读写Excel文件
【C#】C#读写Excel文件
133 1
|
6月前
|
存储 API C#
C# 实现格式化文本导入到Excel
C# 实现格式化文本导入到Excel
|
6月前
为Excel操碎了心 | 图表篇
为Excel操碎了心 | 图表篇
49 0