使用 C# 在Word中插入图表

news2024/12/28 5:09:37

Word中的图表功能将数据可视化地呈现在文档中。这为展示数据和进行数据分析提供了一种方便且易于使用的工具,使作者能够以直观的方式传达信息。要通过C#代码来实现在Word中绘制图表,可以借助 Spire.Doc for .NET 控件,具体操作参考下文。

目录

Dll 引用

C# 在Word中插入柱状图

C# 在Word中插入折线图


Dll 引用

有两种安装Spire.Doc for .NET库的方法:

  1. 在Visual Studio中通过NuGet搜索“Spire.Doc”,然后点击“安装”将其引用到程序中。
  2. 点击以下链接将Spire.Doc for .NET下载到本地,解压后,然后手动将BIN文件夹下的Spire.Doc.dll文件添加引用至程序。

Spire.Doc for .NET | 下载下载.NET Word库用以阅读、创建、操作、转换以及打印MS Word文档。icon-default.png?t=N7T8https://www.e-iceblue.cn/Downloads/Spire-Doc-NET.html

 

C# 在Word中插入柱状图

柱状图可以快速比较不同类别或组之间的数量差异,帮助识别趋势和模式。要在Word中插入柱状图,可以使用Paragraph.AppenChart(ChartType.Column, float width, float height) 方法。完整代码如下:

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields.Shapes.Charts;
using Spire.Doc.Fields;

namespace CreateColumnChart
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Document 对象
            Document document = new Document();

            //添加一节
            Section section = document.AddSection();

            //添加一个段落
            Paragraph paragraph = section.AddParagraph();

            //将一个指定大小的柱状图添加到段落中
            ShapeObject shape = paragraph.AppendChart(ChartType.Column, 450, 250);

            //获取该图表
            Chart chart = shape.Chart;

            //清除图表的默认系列数据
            chart.Series.Clear();

            //添加一个具有指定系列名称、类别名称和系列值的自定义系列到图表中
            chart.Series.Add("销售1组",
                new[] { "第一季度", "第二季度", "第三季度", "第四季度" },
                new double[] { 5000, 8000, 9000, 8500 });

            //添加另一个系列
            chart.Series.Add("销售2组",
            new[] { "第一季度", "第二季度", "第三季度", "第四季度" },
            new double[] { 3000, 5000, 7000, 6000 });

            //设置图标标题
            chart.Title.Text = "各组季度销售额";

            //设置 Y 轴的数字格式
            chart.AxisY.NumberFormat.FormatCode = "#,##0";

            //设置图例位置
            chart.Legend.Position = LegendPosition.Bottom;

            //保存结果文档
            document.SaveToFile("柱状图.docx", FileFormat.Docx2019);
        }
    }
}

C# 在Word中插入折线图

折线图是一种常用的统计图表,用于展示数据随着时间、顺序或其他连续变量的变化趋势。它由一系列连接在一起的数据点组成,通过连线来表示数据的变化。插入折线图步骤与插入柱状图类似,完整代码如下:

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields.Shapes.Charts;
using Spire.Doc.Fields;

namespace WordLineChart
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建Document对象
            Document document = new Document();

            //添加一节
            Section section = document.AddSection();

            //添加一个段落
            Paragraph newPara = section.AddParagraph();

            //将指定大小的折线图添加到段落中
            ShapeObject shape = newPara.AppendChart(ChartType.Line, 460, 300);

            //获取该图表
            Chart chart = shape.Chart;

            //设置图表标题
            chart.Title.Text = "销售报表";

            //清除图表的默认系列数据
            chart.Series.Clear();

            //将具有指定系列名称、类别名称和系列值的三个自定义系列添加到图表中
            string[] categories = { "第一季度", "第二季度", "第三季度", "第四季度" };
            chart.Series.Add("销售1组", categories, new double[] { 1200, 2500, 2500, 3800 });
            chart.Series.Add("销售2组", categories, new double[] { 1500, 1800, 3000, 4000 });
            chart.Series.Add("销售3组", categories, new double[] { 1200, 2000, 3200, 3600 });

            //设置图例位置
            chart.Legend.Position = LegendPosition.Top;

            //保存结果文档
            document.SaveToFile("折线图.docx", FileFormat.Docx);
            document.Dispose();

        }
    }
}

 


Spire.Doc for .NET 提供的 Paragraph.AppenChart(ChartType chartType, float width, float height) 方法中的 ChartType 枚举包含了 MS Word 中预定义的各种图表类型。因此除了柱状图和折线图外,你还可以创建二维或三维的条形图 (ChartType.Bar)、气泡图 (ChartType.Bubble)、饼图 (ChartType.Pie)、散点图 (ChartType.Scatter)、三维曲面图 (ChartType.Surface3D) 等。

----如果想去除生成文档中的红色水印,可以点击申请一个月的试用授权进行测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1163322.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt QSystemTrayIcon实现系统托盘

1.简介 QSystemTrayIcon是Qt中的一个类,用于创建和管理系统托盘图标。系统托盘图标是显示在操作系统任务栏或通知区域的小图标,它可以用来在后台运行的应用程序中提供快速访问功能。 2.常用方法 设置托盘的显示图标 setIcon(const QIcon &icon) …

Python 文件处理:完整指南,一文够了

Python 是一种流行的解释型动态类型编程语言,用于构建 Web 服务、桌面应用程序、自动化脚本和机器学习项目。程序员在使用基于 Python 的软件项目时,通常必须访问操作系统的文件系统。 例如,我们使用文本文件作为输入,编写文本文…

用了这款插件,零代码基础也能写代码你信吗?

写在前面 使用过chatGPT的同学,可能都会有过这样的经历?遇到代码不会的问题,本能的就去求助chatGPT,然后并根据chatGPT的回答去优化代码。但是,没了梯子的话,chatGPT是不是也帮不上忙了?还是只…

课程学习前言

App逆向说明 app抓包分析可以看到有签名有加固,毕竟需要APK去访问服务、获取数据,都需要APK有完整的信息,而这些信息、代码经过各种加密,还是放在APK里面。说白了,就是门锁紧了,钥匙藏在门口某个地方&…

英语语法,时态总结,16种时态

文章目录 前言总体说明过去时一般过去时过去进行时过去完成时过去完成进行时 现在时一般现在时现在进行时现在完成时现在完成进行时 将来时一般将来时将来进行时将来完成时将来完成进行时 过去将来时一般过去将来时过去将来进行时过去将来完成时过去将来完成进行时 前言 学了这…

零日漏洞预防

零日漏洞,是软件应用程序或操作系统(OS)中的意外安全漏洞,负责修复该漏洞的一方或供应商不知道该漏洞,它们仍然未被披露和修补,为攻击者留下了漏洞,而公众仍然没有意识到风险。 零日攻击是如何…

项目上线前发现严重Bug怎么办?

今天分享一个面试问题,现在有一个面试场景: 项目计划明天发布,但是在今天你作为测试人员发现了一个严重的bug,市场相关人员又在催发布的事情,这个时候你应该怎么办? 这是测试工程师不管是在面试&#xff0…

【计算机组成原理】CPU的工作原理

一.CPU的组成结构 CPU主要有运算器、控制器、寄存器和内部总线等组成,其大概的样子长这样: 看不懂没关系,我们将采用自顶而下的方法来讲解CPU的具体工作原理,我们首先来说一下什么叫寄存器,顾名思义,寄存器…

同等学力申硕就一个硕士学位,这有什么用?

很多想在职考研的同学报名前都会拿不定主意选哪种方式好。 想考非全日制研究生吧!又怕难,卷不过在校生。 选同等学力吧,就一个研究生硕士学位,学历层次还是本科,用处不大。 其他的国际硕士学费又太贵,负…

Linux 安装 Redis7.x

Linux 安装 Redis7.x 下载redis7检查linux版本检查是否有 gcc什么是 gcc查看 gcc 是否有安装 安装 redis7查看默认安装目录启动服务连接服务服务关闭Redis的删除卸载Redis数据类型 下载redis7 下载地址:https://download.redis.io/releases/ 检查linux版本 [root…

Jmeter 的 jar 包开发环境搭建,看这一篇就够了!

1、JDK环境变量配置 JAVA_HOMEE:\Program Files\Java\jdk1.8.0_102 Path%JAVA_HOME%\bin; CLASSPATH.;%JAVA_HOME%\lib\dt.jar;.;%JAVA_HOME%\lib\tools.jar 验证环境变量有没有生效:看到如下信息说明 JDK 环境变量已经生效 2、配置 maven 环境 1、下载地址&am…

ASIWebPageRequest库

Objective-C//导入ASIWebPageRequest库#import"ASIWebPageRequest.h"//创建ASIWebPageRequest对象ASIWebPageRequest*request[ASIWebPageRequest requestWithURL:[NSURL URLWithString: "https://cloud.tencent.com/"]];//设置代理服务器地址和端口[reques…

性能监控软件的功能及关键作用

随着信息技术的不断发展,各类系统和应用程序在我们的日常生活中扮演着越来越重要的角色。无论是企业级的服务器集群,还是个人电脑,都需要保证其性能稳定并保持高效运行。为了实现这一目标,性能监控软件成为了不可或缺的工具。本文…

解决msvcr100.dll丢失问题的方法,修复msvcr100.dll丢失的教程

在计算机使用过程中,我遇到了一个关于msvcr100.dll丢失的问题,就是“msvcr100.dll丢失”。msvcr100.dll是Microsoft Visual C 2010的一个动态链接库文件,它包含了许多C运行库函数的实现。当我们在使用一些软件或者游戏时,这些程序…

降低存储网络55% 延迟!阿里云存储论文入选计算机顶会

近日,计算机系统领域的国际顶级学术会议USENIX ATC 2023在美国波士顿市举行。凭借在规模化部署和应用模型上的创新,阿里云存储团队发表的技术论文《Deploying User-space TCP at Cloud Scale with LUNA》被顶会收录,这是继NSDI 21、SIGCOMM 2…

基于人工势场法的航线规划

GitHub - zzuwz/Artificial-Potential-Field: 2D平面下的人工势场法 GitHub - mellody11/Artificial-Potential-Field: 机器人导航--人工势场法及其改进 matlab2020a可以运行

图片批量添加文件名水印

图片现在需要批量添加水印很简单,但是需要添加的水印内容为文件名称比较麻烦。 同时有些能添加文件名称的又有后缀例如(.jpg、.png等等) 这里有个软件可以选择是否加后缀,或者使用图片文件大小来当水印都可以。

YOLOv8添加AIFI(Attention-based Intrascale Feature Interaction模块替换SPPF模块)

1. 引言 1.1 相关介绍 模块名称:Attention-based Intrascale Feature Interaction 论文名称:RT-DETR: DETRs Beat Yolos on Real-time Object Detection 这是论文中的图,此处将其中的AIFI模块拿过来改进YOLOv8。 1.2 其他可改进SPPF模块 …

6-7 二叉树的非递归遍历 分数 10

文章目录 1.非递归前序遍历1.1C写法及解析1.2本题ac答案 2.非递归中序遍历2.非递归后序遍历2.1栈模拟实现非递归C写法本题ac答案本题flag标记法 2.2逆序思想2.3整体代码 1.非递归前序遍历 1.1C写法及解析 vector<int> preorderTraversal(TreeNode* root) {vector<in…