C# Excel 为图表添加模拟运算表
Excel中的图表能够将数据可视化,方便我们比较分析数据。但也有一定的局限,例如:不能够直接从图表中读出原来数据的准确值。Excel提供的解决方案是,在图表下方添加一个模拟运算表,即在坐标轴下方添加包含建表时所依照的数据的表格。本文旨在介绍通过免费的Free Spire.XLS在C#独立创建Excel文件,添加数据,生成图表,并添加模拟运算表。
需要使用的命名空间:
- using Spire.Xls;
- using System.Drawing;
步骤详解:
步骤1:创建Excel文件,添加表单。
- Workbook workbook = new Workbook();
- workbook.CreateEmptySheets();
- Worksheet sheet = workbook.Worksheets[];
步骤二:为单元格添加样本数据,用于一下不生成图表。
- 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 = ;
- chart.BottomRow = ;
- chart.LeftColumn = ;
- chart.RightColumn =;
- chart.ChartTitle = "带模拟数据表的柱状图示例";
- chart.ChartTitleArea.IsBold = true;
- chart.ChartTitleArea.Size = ;
- Spire.Xls.Charts.ChartSerie cs1 = chart.Series[];
- 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();
- Worksheet sheet = workbook.Worksheets[];
- 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 = ;
- chart.BottomRow = ;
- chart.LeftColumn = ;
- chart.RightColumn =;
- chart.ChartTitle = "带模拟数据表的柱状图示例";
- chart.ChartTitleArea.IsBold = true;
- chart.ChartTitleArea.Size = ;
- Spire.Xls.Charts.ChartSerie cs1 = chart.Series[];
- cs1.CategoryLabels = sheet.Range["A2:A7"];
- chart.HasDataTable = true;
- workbook.SaveToFile("S3.xlsx", ExcelVersion.Version2010);
- System.Diagnostics.Process.Start("S3.xlsx");
- }
- }
- }
C# Excel 为图表添加模拟运算表的更多相关文章
- C# Excel 为图表添加趋势线、误差线
Excel图表能够将数据可视化,在图表中另行添加趋势线和误差线,可对数据进行进一步的数据分析和统计的可视化处理.Excel中的趋势线可用于趋势预测/回归分析,共6中类型:指数(X),线性(L),对数( ...
- Excel技巧--图表添加平均线为指标
如上图,如果在柱状图有一平均指标线,就能很直观地显示各柱状值是否高于或低于平均值这个指标. 添加方法: (1)为表格制作一个柱状图: 2.对图表点右键,菜单选择“更改图表类型”.对话框如下选择: 3. ...
- C# 添加、修改以及删除Excel迷你图表的方法
Excel表格中的迷你图表能够直观地向我们展示出数据的变化趋势.本文将介绍C#如何实现为表格数据生成迷你图表,以及修改和删除迷你图表的方法.下面将详细讲述. 所用组件工具:Spire.XLS for ...
- [转] C#操作EXCEL,生成图表的全面应用
gailzhao 原文 关于C#操作EXCEL,生成图表的全面应用 近来我在开发一个运用C#生成EXCEL文档的程序,其中要根据数据生成相应的图表,该图表对颜色和格式都有严格的要求,在百度和谷歌中搜索 ...
- Excel催化剂图表系列之品味IBCS瀑布图观察企业利润构成
IBCS图表,每个细节都值得反复琢磨参悟,此篇给大家送上详尽的瀑布图方式下的利润数据观察.请不要拿Excel2016版提供的瀑布图与IBCS版的瀑布图作对比,那完全不是一个级别的,可以类比为拿一辆经济 ...
- Excel催化剂图表系列之一键完成IBCS国际商业标准图表
在数据分析领域,最后一公里的图表输出,是一片十分广阔的领域.一直以来,笔者深知不是这一方面的能手,学习上也仅仅是浅尝而止.没有往其深入研究并有所产出.很幸运地在数据圈子能够结识到其他的志同道合的伙伴, ...
- .Net模拟提交表单
2016-09-0210:49:20 以中邮速递API为服务接口,由于提交方式为表单提交,我要获取返回值来处理其他业务,所以一开始尝试采用Js后台获取返回值,但是涉及到跨域请求限制问题,那边服务端接口 ...
- js_ajax模拟form表单提交_多文件上传_支持单个删除
需求场景: 用一个input type="file"按钮上传多张图片,可多次上传,可单独删除,最后使用ajax模拟form表单提交功能提交到指定方法中: 问题:由于只有一个file ...
- js插件---在线类似excel生成图表插件解决方案
js插件---在线类似excel生成图表插件解决方案 一.总结 一句话总结:google比百度好用多了,多用google google js editable table jquery 双向绑定 这种 ...
随机推荐
- 解决IE6/IE7/IE8不支持before,after问题
对从事web开发的朋友来讲,低版本的IE永远是一个痛点,不支持最新技术(如css3,html5). 在现在web开发中使用图标字体已经很广泛,如Font Awesome,Bootstrap等,字体图片 ...
- git 常用操作命令
A. 新建Git仓库,创建新文件夹git init B. 添加文件到git索引git add <filename> --- 单个文件添加git add * --- 全部文件添加 C. 提 ...
- Nginx 配置从零开始
作为一个 nginx 的初学者记录一下从零起步的点滴. 基本概念 Nginx 最常的用途是提供反向代理服务,那么什么反向代理呢?正向代理相信很多大陆同胞都在这片神奇的土地上用过了,原理大致如下图: 代 ...
- 更加精确的定时器:dispatch_source_t
在使用定时器时,我们经常使用NSTimer,但是由于NSTimer会受RunLoop影响,当RunLoop处理的任务很多时,就会导致NSTimer的精度降低,所以在一些对定时器精度要求很高的情况下,应 ...
- 如何在arcmap中调试addin或者插件
1. 首先,在arcmap中,依次点击“自定义”->"加载项管理器",加载dll或者tlb文件 2. 其次,在vs中,依次点击“工具”->“附加到进程",在对 ...
- $.load()的用法
jquery load 事件用法 jquery load 事件用法 如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像.如果绑定在元素上,则当元素的内容加载完毕后触发. ...
- linux命令初识
一.查看当前的目录文件 ls demo 查看demo目录下的所有文件 ls -l demo/test.txt --查看指定目录(test.txt)的详细内容 二.复制文件 cp or ...
- Eclipse自动补全设置
如果你用过Visual Studio的自动补全功能后,再来用eclipse的自动补全功能,相信大家会有些许失望. 但是eclipse其实是非常强大的,eclipse的自动补全没有VS那么好是因为ecl ...
- Mac上开启Web服务
$ sudo apachectl start$ httpd -v /Library/WebServer/Documents
- MySQL的特点
MySQL的特点 CPU特点 内存特点 磁盘特点 分析