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

摘要:
Excel中的图表可以将数据可视化,便于我们对数据进行比较和分析。Excel提供的解决方案是在图表底部添加一个模拟表,即添加一个表,其中包含在坐标轴下方创建表所依据的数据。本文旨在介绍如何通过免费的FreeSpire.XLS.Namespace在C#中独立创建Excel文件、添加数据、生成图表和添加模拟表:usingSpire.XLS;使用System.Drawing;步骤1:创建Excel文件并添加表单。Chartchart=sheet.Charts.add;chart.DataRange=sheet.Range[“B1:D7”];chart.SeriesDataFromRange=false;chart.TopRow=7;chart.BottomRow=28;chart.LeftColumn=3;chart.RightColumn=11;图表ChartTitle=“具有模拟数据表的直方图示例”;chart.ChartTitleArea.IsBold=true;chart.ChartTitleArea.Size=12;Spire.Xls.Charts.ChartSeries1=图表系列[0];cs1.CategoryLabels=sheet.Range[“A2:A7”];步骤4:为直方图添加模拟数据表。chart.HasDataTable=true;步骤5:将文档保存为Excel 2010。

  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);
代码运行后效果截图:
C# Excel 为图表添加模拟运算表第1张

 完整代码:

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

免责声明:文章转载自《C# Excel 为图表添加模拟运算表》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何申请@MSN.Com后缀的邮箱?interp1一维数据插值在matlab中的用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

(转) 如何在Excel和Word文档中插入GIF动画

Office Excel 和Word文档中插入图片很容易做到,但是要插入GIF动画,并且还要能让这个动画动起来,就不能依照普通的“插入 → 图片→ 来自文件”的方法了,否则的话即便是把GIF插入进去,也只是个静态的画面,并不能够动起来。要想实现动画的目的,就得借助VB中的一个特殊的插件—— AniGIF.ocx(在PPT中无需这个插件)。本文就以Excel...

C#中对EXCEL保存的SAVEAS方法说明

object missing = System.Reflection.Missing.Value;myWorkbook.SaveAs(fileallpath,Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal,missing,missing,missing,missing,Micro...

使用 JFreeChart来创建基于web的图表 简单飞扬

使用 JFreeChart来创建基于web的图表 本文来自IBM Developers CN WWW 的发展使得基于因特网的应用程序不再局限于静态或者简单的动态内容提供。传统的一些以软件包形式发布应用程序例如报表系统等都在逐渐搬到因特网上。但是这 两者之间有着天壤之别,虽然对于数据获取、业务处理等方面基本类似,但是最大的差别在于用户界面。...

JFreeChart画折线图

package lb;import java.awt.Color;import java.awt.Font;import java.io.File;import java.text.DecimalFormat; import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartFrame;imp...

helm3自定义chart编写

当我们安装好helm之后我们可以开始自定义chart,那么我们需要先创建出一个模板如下: helm create myapp 之后我们可以一下目录结构,目录的作用我简要介绍一下: templates/ 目录包括了模板文件。当Helm评估chart时,会通过模板渲染引擎将所有文件发送到templates/目录中。 然后收集模板的结果并发送给Kubernete...

Google API快速生成QR二维码

Google API快速生成QR二维码现在来说生成二维码最简单的方法是使用Google Chart API来实现,再次膜拜Google大神~ Google Chart API是一套可以让你在线生成报表图的系统,通过URL你可以得到各种图表。举个例子:你在浏览器中输入 https://chart.googleapis.com/chart?cht=qr&...