使用 C# 在Word中插入图表

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

目录

[Dll 引用](#Dll 引用)

[C# 在Word中插入柱状图](# 在Word中插入柱状图)

[C# 在Word中插入折线图](# 在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文档。https://www.e-iceblue.cn/Downloads/Spire-Doc-NET.html

C# 在Word中插入柱状图

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

cs 复制代码
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中插入折线图

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

cs 复制代码
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)**等。

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

相关推荐
BYSJMG1 小时前
计算机毕设选题推荐:基于大数据的公共交通运营数据分析与可视化,Spark+K-Means聚类城市运营模式
大数据·hadoop·信息可视化·数据分析·spark·kmeans·课程设计
AIGC大时代1 小时前
Obsidian × Claude Cowork × Word:把研究笔记变成可验收写作链
笔记·word·claude·学术写作·obsidian·研工作流
软件黑马王子2 小时前
19.资源加载模块:主要作用和基本原理
开发语言·前端框架·c#
Am-Chestnuts3 小时前
通义千问任务清单怎么导出Word?用DS随心转保留层级和勾选项
开发语言·c#·word
fujisheng6614 小时前
拆解 FUI Source Generator:从 Bind 声明到强类型绑定与路由
c#
2601_953988074 小时前
Ricon组态实时监控 - 毫秒级数据可视化
前端·物联网·数学建模·信息可视化·架构·前端框架
Am-Chestnuts4 小时前
豆包、DeepSeek公式怎么导出Word?用DS随心转保留可编辑格式
word
古少侠4 小时前
DeepSeek长回答怎么保存成Word?避免逐段复制和漏内容
c#·word
玖玥拾4 小时前
Lua 基础语法(五)Unity xLua基础配置与 C# 访问 Lua
开发语言·unity·c#·lua
我是唐青枫4 小时前
C#.NET StructureMap 从依赖注入到项目实战
开发语言·c#·.net