使用 C# 在Word中插入图表
Word中的图表功能将数据可视化地呈现在文档中。这为展示数据和进行数据分析提供了一种方便且易于使用的工具,使作者能够以直观的方式传达信息。要通过C#代码来实现在Word中绘制图表,可以借助 Spire.Doc for .NET 控件,具体操作参考下文。
- C# 在Word中插入柱状图
- C# 在Word中插入折线图
Dll引用
有两种安装Spire.Doc for .NET库的方法:
- 在Visual Studio中通过NuGet搜索“Spire.Doc”,然后点击“安装”将其引用到程序中。
- 点击以下链接将Spire.Doc for .NET下载到本地,解压后,然后手动将BIN文件夹下的Spire.Doc.dll文件添加引用至程序。
https://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) 等。
----如果想去除生成文档中的红色水印,可以点击申请一个月的试用授权进行测试。