sales@e-iceblue.com    |    028-81705109    |    2181348176    |    冰蓝科技    |    EN-US

C# 创建 PowerPoint 图表

图表是指将数据用图形的形式表示出来,常见的图表类型有柱形图、饼状图、条形图、折线图和组合图等。Spire.Presentation支持多达70种不同样式的图表类型,本文将以柱形图、圆环图(饼状图)和组合图为例,介绍如何在幻灯片上创建图表。

创建柱形图

//创建一个PowerPoint文档
Presentation presentation = new Presentation();

//插入柱形图
RectangleF rect = new RectangleF(40, 100, 550, 320);
IChart chart = presentation.Slides[0].Shapes.AppendChart(ChartType.ColumnClustered, rect);

//添加表名
chart.ChartTitle.TextProperties.Text = "部门信息";
chart.ChartTitle.TextProperties.IsCentered = true;
chart.ChartTitle.Height = 30;
chart.HasTitle = true;

//定义一个sting[,]数组
string[,] data = new string[,]
{
  {"部门名称","男性员工","女性员工" },
  {"开发部","25","15"},
  {"测试部","5","10" },
  {"销售部","7","3" },
  {"技术支持部","20","5" }
};

//将数据写入图表后台数据表
for (int i = 0; i < data.GetLength(0); i++)
{
    for (int j = 0; j < data.GetLength(1); j++)
    {
        //将数字类型的字符串转换为整数
        int number;
        bool result = Int32.TryParse(data[i, j],out number);
        if (result)
        {
            chart.ChartData[i, j].Value = number;
        }
        else
        {
            chart.ChartData[i, j].Value = data[i, j];
        }
    }
}

//设置系列标签
chart.Series.SeriesLabel = chart.ChartData["B1", "C1"];

//设置类别标签
chart.Categories.CategoryLabels = chart.ChartData["A2", "A5"];

//为各个系列赋值
chart.Series[0].Values = chart.ChartData["B2", "B5"];
chart.Series[1].Values = chart.ChartData["C2", "C5"];

//应用内置图标样式
chart.ChartStyle = ChartStyle.Style11;

//设置系列重叠
chart.OverLap = -50;

//设置类别间距
chart.GapWidth = 200;

//保存文档
presentation.SaveToFile("柱形图.pptx", FileFormat.Pptx2010);

C# 创建 PowerPoint 图表


创建圆环图

//创建一个PowerPoint文件
Presentation presentation = new Presentation();

//插入圆环图
RectangleF rect = new RectangleF(40, 100, 550, 320);
IChart chart = presentation.Slides[0].Shapes.AppendChart(ChartType.Doughnut, rect, false);

//设置图表名
chart.ChartTitle.TextProperties.Text = "市场份额";
chart.ChartTitle.TextProperties.IsCentered = true;
chart.ChartTitle.Height = 30;
chart.HasTitle = true;

//定义数据
string[] countries = new string[] { "古巴", "墨西哥", "法国", "德国" };
int[] sales = new int[] { 1800, 3000, 5100, 6200 };

//将数据写入图表后台数据表
chart.ChartData[0, 0].Text = "国家";
chart.ChartData[0, 1].Text = "销售额";
for (int i = 0; i < countries.Length; ++i)
{
    chart.ChartData[i + 1, 0].Value = countries[i];
    chart.ChartData[i + 1, 1].Value = sales[i];
}

//设置系列标签
chart.Series.SeriesLabel = chart.ChartData["B1", "B1"];

//设置分类标签
chart.Categories.CategoryLabels = chart.ChartData["A2", "A5"];

//为系列赋值
chart.Series[0].Values = chart.ChartData["B2", "B5"];

//添加点到系列
for (int i = 0; i < chart.Series[0].Values.Count; i++)
{
    ChartDataPoint cdp = new ChartDataPoint(chart.Series[0]);
    cdp.Index = i;
    chart.Series[0].DataPoints.Add(cdp);
}

//为系列里的个点添加背景颜色
chart.Series[0].DataPoints[0].Fill.FillType = FillFormatType.Solid;
chart.Series[0].DataPoints[0].Fill.SolidColor.Color = Color.LightBlue;
chart.Series[0].DataPoints[1].Fill.FillType = FillFormatType.Solid;
chart.Series[0].DataPoints[1].Fill.SolidColor.Color = Color.MediumPurple;
chart.Series[0].DataPoints[2].Fill.FillType = FillFormatType.Solid;
chart.Series[0].DataPoints[2].Fill.SolidColor.Color = Color.DarkGray;
chart.Series[0].DataPoints[3].Fill.FillType = FillFormatType.Solid;
chart.Series[0].DataPoints[3].Fill.SolidColor.Color = Color.DarkOrange;

//设置标签显示数值
chart.Series[0].DataLabels.LabelValueVisible = true;

//设置标签显示百分比
chart.Series[0].DataLabels.PercentValueVisible = true;

//设置圆环内径大小
chart.Series[0].DoughnutHoleSize = 60;

//保存文档
presentation.SaveToFile("圆环图.pptx", FileFormat.Pptx2013);

C# 创建 PowerPoint 图表


创建混合图表

//新建一个PowerPoint文档
Presentation presentation = new Presentation();

//插入柱形图
RectangleF rect = new RectangleF(40, 100, 550, 320);
IChart chart = presentation.Slides[0].Shapes.AppendChart(ChartType.ColumnClustered, rect);

//添加表名
chart.ChartTitle.TextProperties.Text = "月销售报表";
chart.ChartTitle.TextProperties.IsCentered = true;
chart.ChartTitle.Height = 30;
chart.HasTitle = true;

//创建一个DataTable
DataTable dataTable = new DataTable();
dataTable.Columns.Add(new DataColumn("月份", Type.GetType("System.String")));
dataTable.Columns.Add(new DataColumn("销售额", Type.GetType("System.Int32")));
dataTable.Columns.Add(new DataColumn("同比增长率", Type.GetType("System.Decimal")));
dataTable.Rows.Add("1月", 200, 0.6);
dataTable.Rows.Add("2月", 250, 0.8);
dataTable.Rows.Add("3月", 300, 0.6);
dataTable.Rows.Add("4月", 150, 0.2);
dataTable.Rows.Add("5月", 200, 0.5);
dataTable.Rows.Add("6月", 400, 0.9);

//将DataTable数据导入图表后台数据表
for (int c = 0; c < dataTable.Columns.Count; c++)
{
    chart.ChartData[0, c].Text = dataTable.Columns[c].Caption;
}
for (int r = 0; r < dataTable.Rows.Count; r++)
{
    object[] datas = dataTable.Rows[r].ItemArray;
    for (int c = 0; c < datas.Length; c++)
    {
        chart.ChartData[r + 1, c].Value = datas[c];

    }
}

//设置系列标签
chart.Series.SeriesLabel = chart.ChartData["B1", "C1"];
 
//设置类别标签      
chart.Categories.CategoryLabels = chart.ChartData["A2", "A7"];

//为系列赋值
chart.Series[0].Values = chart.ChartData["B2","B7"];
chart.Series[1].Values = chart.ChartData["C2","C7"];

//将系列2的图表类型改为折线图
chart.Series[1].Type = ChartType.LineMarkers;

//将系列2显示到第二根轴
chart.Series[1].UseSecondAxis = true;

//显示百分比数据
chart.SecondaryValueAxis.NumberFormat = "0%";

//不显示第二根轴的网格线
chart.SecondaryValueAxis.MajorGridTextLines.FillType = FillFormatType.None;

//设置系列重叠
chart.OverLap = -50;

//设置类别间距
chart.GapWidth = 200;

//保存文档
presentation.SaveToFile("混合图表.pptx", FileFormat.Pptx2010);

C# 创建 PowerPoint 图表

Spire.Doc
C# 添加 Word 超链接
C# 插入、计数、检索和删除 Word 文档变量
C# 如何在 Word 中插入分页符和分节符
C# 如何在 Word 中插入和删除文本框
C# 添加形状和形状组合到 Word 文档
C# 如何插入图片到 Word 以及提取 Word 中的图片
C# 给 Word 文档添加内容控件
如何合并 Word 文档
C# Word 文档保护
创建 Word 文档
启用 Word 修订功能,接受和拒绝修订
C# 操作 Word 批注功能
Spire.Doc 转换功能详述
使用 C# 为 Word 文档添加脚注尾注
C# 为 Word 文档添加页眉,页脚和页码
C# 为 Word 文档添加文本和图片水印
添加和获取 Word 文档摘要及属性
C# Word 查找和替换功能
C# 创建 Word 表格
使用 C# 添加 Word 域
C# 添加,替换和删除 Word 书签
C# 合并与拆分 Word 表格中的单元格
C# Word 图片替换
C# 根据分节符和分页符拆分 Word 文档
C# 给 Word 文档设置背景颜色和背景图片
C# 在 Word 中创建文本框
C# 设置纸张大小以及页边距
C# 在 Word 中插入下拉列表控件、文本控件、图片控件等
C# 在 Word 中创建项目符号列表、多级编号列表
C# 插入表格到 Word 文本框以及获取和删除 Word 文本框中的表格
C# Word 中添加和删除特殊符号
C# 创建 Word 邮件合并模板并合并文本和图片
C# 打印 Word 文档
C# Word 中添加、修改和提取 OLE
C# Word 中设置文字效果
C# Word 添加分栏、分割线
C# 在 Word 中插入上下标
C# 设置 Word 表格的格式
C# 操作 Word 表格行和列
C# 创建 Word 艺术字
C# 删除 Word 超链接
Spire.DocViewer
如何添加 Spire.DocViewer 控件到 Toolbox
Spire.XLS
C# Excel 插入和删除分页符
C# 给 Excel 工作表添加水印
C# 图表中隐藏和空单元格的设置
给 Excel 表格添加超链接
C# 复制 Excel 工作表
使用 Spire.XLS 创建 Excel 图表
C# 设置 Excel 数据验证/数据有效性
Excel 查找替换高亮显示数据
C# 显示和隐藏 Excel 工作表及工作表中的行与列
C# 添加修改及删除 Excel 批注
如何使用 C# 打印 Excel 文档
使用 C# 将 Excel 工作薄和 Excel 工作表保存为 PDF 格式
C# Excel 图片添加、提取和删除
C# Excel 文档保护
合并/取消合并 Excel 单元格
C# 创建 Excel 文件
如何设置和获取 Excel 工作薄摘要及自定义属性
C# 设置 Excel 页眉页脚
C# Excel 数据分组和取消分组
C# 创建、读取 Excel 公式
C# Excel 字体设置
C# 如何在 Excel 中设置条件格式
C# Excel 工作表和 Excel 图表保存为图片
C# Excel 冻结窗格
C# 设置 Excel 图片大小和位置
C# 给 Excel 文档设置背景颜色和背景图片
C# 设置现有 Excel 图表的数据标签样式
C# 展开和折叠 Excel 分组
C# 重命名 Excel 工作表和设置工作表标签颜色
C# 如何合并 Excel 文档
C# Excel 插入图形
C# 将 Excel 文件转换为 HTML 格式
C# 转换 CSV 到 Excel、PDF、Datatable
C# Excel 创建多级分组
C# 设置 Excel 工作表视图模式和显示比例
C# Excel 单元格锁定和取消锁定
C# Excel 导入导出数据
C# 设置 Excel 中数字格式
C# Excel 自定义数据标签
C# 设置 Excel 中边框(网格线)样式
C# Excel 插入和删除表单控件
C# 添加、修改和删除 Excel 迷你图
Spire.Presentation
C# 给 PPT 文档添加水印
Spire.Presentation 保护 PPT 文档
C# 创建 PowerPoint 文档
C# PowerPoint 文档转换成图片、PDF、SVG 等格式文件
C# 如何提取 PowerPoint 文档中的文本和图片
C# 创建、删除、操作 PowerPoint 表格
C# 如何添加、删除 PowerPoint 图形
C# 创建 PowerPoint 图表
C# Presentation 文本替换
C# 隐藏和取消隐藏幻灯片
C# 添加、编辑、提取和删除 PowerPoint 批注
C# PPT 插入和提取视频
C# PPT 添加、修改超链接
C# 创建 PowerPoint 堆积图
C# 设置和获取 PowerPoint 文档属性
C# 添加和获取 PowerPoint 备注
C# 添加或删除 PowerPoint 段落和设置段落样式
C# 幻灯片插入 SmartArt 图形
C# 设置 PPT 表格中文字的对齐方式
C# PowerPoint 添加页脚、页码
C# 更改 PPT 中文字方向
C# 打印 PowerPoint 文档
C# 给 PowerPoint 文档设置背景颜色和背景图片
C# 创建幻灯片编号列表和项目符号列表
C# 设置 PowerPoint 中文字透明度
C# PowerPoint 分离饼状图
Spire.PDF
C# 添加、获取及删除 PDF 附件
C# 给 PDF 文档添加背景颜色和背景图片
C# PDF 转 Word、Image、XPS
C# PDF 图片添加、删除和替换
C# 压缩 PDF 文档
C# 创建 PDF 文档
C# 何如提取 PDF 文档中的文本和图片
合并与拆分 PDF 文档
C# PDF 添加页眉页脚
C# 给 PDF 文档添加水印
打印 PDF 文档
C# PDF 数字签名
C# PDF 字体设置
C# 操作 FDF 和 XFDF 文件
C# 创建 PDF 表单域
C# PDF 文档保护与取消保护
C# 将 PDF 表单域设置为只读
C# 创建 PDF 表格
如何使用 C# 在 PDF 中绘制图形
C# 添加或删除 PDF 页面,调整页面顺序
C# PDF 添加注释和标记
C# 添加、修改和删除 PDF 书签
C# 如何删除 PDF 表单域
C# PDF 设置页边距和页面大小
C# PDF 查找和高亮显示文本
C# 添加和删除 PDF 图层
C# 添加、获取和删除 PDF 自定义文档属性
C# 打印 PDF 文档的多页到一页和一页到多页
C# 创建 PDF 项目符号列表和多级编号列表
C# 固定 PDF 文本框中文字的大小和颜色
C# 给 PDF 文档添加超链接
C# 用 JavaScript 设置和验证 PDF 文本域格式
C# 给 PDF 文档添加动作
C# PDF 文档加密和解密
Spire.PDFViewer
Spire.DataExport
Spire.BarCode for .NET
Licensing
如何应用 License
License Agreement
Spire.BarCode for JAVA
如何使用 Spire.Barcode for Java 生成条形码
使用 Spire.Barcode for Java 识别条形码
Spire.Email
C# 如何群发邮件
C# 如何接收和保存邮件
C# 创建、重命名、删除邮箱文件夹
C# 添加、提取、删除邮件附件