Aspose.Words for .NET图表教程——创建四种OOXML图表

Aspose.Words For .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

接下来我们进入关于“使用图表”的介绍,在Aspose.Words中学会从头开始创建OOXML图表,包括柱状图、散点图、面积图和气泡图。

(如果您想下载Aspose.Words或了解正版价格,请随时加入Aspose技术交流群(642018183)。)



插入柱形图

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Add chart with default data. You can specify different chart types and sizes.
Shape shape = builder.InsertChart(ChartType.Column, 432, 252);

// Chart property of Shape contains all chart related options.
Chart chart = shape.Chart;

// Get chart series collection.
ChartSeriesCollection seriesColl = chart.Series;
// Check series count.
Console.WriteLine(seriesColl.Count);

// Delete default generated series.
seriesColl.Clear();

// Create category names array, in this example we have two categories.
string[] categories = new string[] { "AW Category 1", "AW Category 2" };

// Adding new series. Please note, data arrays must not be empty and arrays must be the same size.
seriesColl.Add("AW Series 1", categories, new double[] { 1, 2 });
seriesColl.Add("AW Series 2", categories, new double[] { 3, 4 });
seriesColl.Add("AW Series 3", categories, new double[] { 5, 6 });
seriesColl.Add("AW Series 4", categories, new double[] { 7, 8 });
seriesColl.Add("AW Series 5", categories, new double[] { 9, 10 });

dataDir = dataDir + @"TestInsertSimpleChartColumn_out.doc";
doc.Save(dataDir);

该代码产生以下结果:

添加方法有四种不同的重载,可以覆盖所有图表类型的数据源的所有可能变体:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Insert Column chart.
Shape shape = builder.InsertChart(ChartType.Column, 432, 252);
Chart chart = shape.Chart;

// Use this overload to add series to any type of Bar, Column, Line and Surface charts.
chart.Series.Add("AW Series 1", new string[] { "AW Category 1", "AW Category 2" }, new double[] { 1, 2 });

dataDir = dataDir + @"TestInsertChartColumn_out.doc";
doc.Save(dataDir);

该代码产生以下结果:

插入散点图

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCharts();
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Insert Scatter chart.
Shape shape = builder.InsertChart(ChartType.Scatter, 432, 252);
Chart chart = shape.Chart;

// Use this overload to add series to any type of Scatter charts.
chart.Series.Add("AW Series 1", new double[] { 0.7, 1.8, 2.6 }, new double[] { 2.7, 3.2, 0.8 });

dataDir = dataDir + "TestInsertScatterChart_out.docx";
doc.Save(dataDir);

该代码产生以下结果:

插入面积图

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCharts();
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Insert Area chart.
Shape shape = builder.InsertChart(ChartType.Area, 432, 252);
Chart chart = shape.Chart;

// Use this overload to add series to any type of Area, Radar and Stock charts.
chart.Series.Add("AW Series 1", new DateTime[] { 
new DateTime(2002, 05, 01), 
new DateTime(2002, 06, 01),
new DateTime(2002, 07, 01),
new DateTime(2002, 08, 01),
new DateTime(2002, 09, 01)}, new double[] { 32, 32, 28, 12, 15 });
dataDir = dataDir + @"TestInsertAreaChart_out.docx";
doc.Save(dataDir);

该代码产生以下结果:

插入气泡图

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithCharts();
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Insert Bubble chart.
Shape shape = builder.InsertChart(ChartType.Bubble, 432, 252);
Chart chart = shape.Chart;

// Use this overload to add series to any type of Bubble charts.
chart.Series.Add("AW Series 1", new double[] { 0.7, 1.8, 2.6 }, new double[] { 2.7, 3.2, 0.8 }, new double[] { 10, 4, 8 });
dataDir = dataDir + @"TestInsertBubbleChart_out.docx";
doc.Save(dataDir);

该代码产生以下结果:

原文地址:https://www.cnblogs.com/mnrssj-Aspsoe/p/11976289.html

时间: 2024-07-30 16:40:17

Aspose.Words for .NET图表教程——创建四种OOXML图表的相关文章

java中内部类的创建四种情况,三种方式,及内部数据访问权限

内部类和外部类的关系,及内部静态类的数据访问权限,声明方式. 第一种,在外部类内部声明使用内部类,内部类的类型为static和非 static类型,内部类数据类型为private,protected,public 类型的访问权限.外部类为非静态声明和权限如下: package com; public class Test1 { //@author 张春蕾 private class Name{ private int i =1; public int s = 2; protected int m

四种DLL:NON-MFC DLL, Regular DLL Statically/Dynamically Linked to MFC, MFC Extension DLL

参考资料: https://msdn.microsoft.com/en-us/library/30c674tx.aspx 在上面给出的MSDN链接中,你可以看到四种DLL的定义.这里就不赘述.捡重点的说 区别就在于: NON-MFC DLL内部不能使用MFC(当然其导出的API也不能涉及MFC).(这里我说“导出的API”是指导出的C函数.C++类或者共享的全局变量等等) Regular DLL Statically/Dynamically linked to MFC内部可以使用MFC,但是其导

Docker入门教程(四)Docker Registry

Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它是Docker中的重要组件.本文通过情景演绎的方式对其进行了介绍,图文并茂,强烈推荐读者阅读. 在Docker系列教程的上一篇文章中,我们讨论了Dockerfile的重要性并提供了一系列Dockerfile的命令,使镜像的自动构建更加容易.在这篇文章中,我们将介绍Docker的一个重要组件:Dock

Windows server 2012 搭建VPN图文教程(四)客户端访问VPN测试

Windows server 2012 搭建VPN图文教程(一)安装VPN相关服务 Windows server 2012 搭建VPN图文教程(二)配置路由和远程访问服务 Windows server 2012 搭建VPN图文教程(三)配置VPN访问账户 Windows server 2012 搭建VPN图文教程(四)客户端访问VPN测试 Part IV 客户端访问VPN测试 本部分主要介绍如何通过客户端访问VPN的方法.实验客户端操作系统为windows 8,以下是客户端配置VPN的步骤: 打

【REACT NATIVE 系列教程之一】触摸事件的两种形式与四种TOUCHABLE组件详解

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2203.html 本文是RN(React Native)系列教程第一篇,当然也要给自己的群做个广告:   React Native @Himi :126100395  刚创建的群,欢迎一起学习.讨论.进步. 本文主要讲解两点: 1.   PanResponder:触摸事件,用以获取用户手指所在屏幕的坐标(x,y)或触

Photoshop入门教程(四):混合模式

学习心得:混合模式在Photoshop常容易被忽视,最大原因就是它所处的位置比较隐蔽,在图层面板左上部的角落里.使用混合模式,决定图像中上图层像素如何与图像中的下层像素进行混合,使图层的叠加更加炫酷.多种混合模式组合使用,会得到意想不到的结果.在没有灵感的时候,不妨试一试混合模式. 混合模式选项: 变暗模式(减色) 正常 溶解 变暗 正片叠底 颜色加深 线性加深 深色 变亮模式(加色) 变亮 滤色 颜色减淡 线性减淡(添加) 浅色 饱和度模式 叠加 柔光 强光 亮光 线性光 点光 实色混合 差集

JSP简明教程(四):EL表达式语言、JavaBean、Cookie、Session

EL表达式语言 EL就是Expression Language,目的是简化JSP的语法.来看几个例子就明白了. ${test} 会翻译成<%=test%> ${test.name} 会翻译成 <%=test.getName()%> ${sessionScope.username}} 会翻译成 <%=session.getAttribute("username")%> 只有sessionScope.requestScope等才会翻译成getAttrib

Blend4精选案例图解教程(四):请给我路径指引

原文:Blend4精选案例图解教程(四):请给我路径指引 路径在界面设计中,可以起到很好的辅助作用,我常常使用它来对元素进行规则排列和非规则排列控制. 本次教程将演示,Blend中路径的常规用法. 1.新建项目,在默认设计视图中添加一个椭圆(Elipse),按住Shift键可以画圆 视图树设计视图 2.从绘制的圆中提取路径,右键点击圆,弹出的窗口选择Path-Make Layout Path,在视图树中显示为PathListBox,这就是我们需要的路径 3.选中PathListBox,通过双击图

Quick-Cocos2d-x初学者游戏教程(四) --------------- 开发初探(添加背景,标题,动作,按钮)

Quick-Cocos2d-x初学者游戏教程(四) 前面我们已经大概的讲解完了Quick的框架和代码结构,接下来,本章开始我们将正式进入到游戏的开发.当然在开发的过程中,如果遇到值得一提的知识点和概念,我们还是会为大家详细讲解的. 哈哈,这章的内容我加它为——开发初探,因为我们将先来实现一些基础的内容.本章将实现的效果如下图所示: 菜单场景 从前面章节讲解的的知识点中,我们知道每个新建的 Quick 项目里都已经默认创建好了一个 mainScene 场景,所以下面我们将利用这个现成的场景,把它改