图表中的形状

向图表添加标签控件

标签提供了一种向用户提供有关电子表格内容信息的方式。 Aspose.Cells允许您甚至在图表中添加和操作标签。

Aspose.Cells.Drawing.ShapeCollection类提供了一个名为AddLabelInChart的方法,用于向图表添加标签控件。以下是该方法使用的参数列表:

  • top – 以图表区域的1/4000单位为垂直偏移的标签。
  • left – 以图表区域的1/4000单位为水平偏移的标签。
  • height – 标签的高度,以图表区域的1/4000单位为单位。
  • width – 标签的宽度,单位为图表区域的1/4000。

该方法返回Aspose.Cells.Drawing.Label对象。Label类代表图表中的标签,具有一些重要成员:

  • Text(属性)– 指定标签的标题字符串。
  • Fill(属性)– 指定填充颜色属性。

以下示例演示如何向图表添加标签。示例使用了一个设计文件(exp_piechart.xls),其中包含一个图表。我们使用此文件向图表插入标签。以下是添加标签到图表的原始代码。执行该代码时生成以下输出。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Open the existing file.
Workbook workbook = new Workbook(dataDir + "chart.xls");
// Get the designer chart in the second sheet.
Worksheet sheet = workbook.Worksheets[1];
Aspose.Cells.Charts.Chart chart = sheet.Charts[0];
// Add a new label to the chart.
Aspose.Cells.Drawing.Label label = chart.Shapes.AddLabelInChart(100, 100, 350, 900);
// Set the caption of the label.
label.Text = "A Label In Chart";
// Set the Placement Type, the way the
// Label is attached to the cells.
label.Placement = Aspose.Cells.Drawing.PlacementType.FreeFloating;
// Save the excel file.
workbook.Save(dataDir + "chart.out.xls");

将文本框控件添加到图表

在报告中突出显示重要信息的一种方法是使用文本框。例如,输入文本以突出显示公司名称或指示销售额最高的地理区域。Aspose.Cells.Drawing.ShapeCollection类提供了一个名为AddTextBoxInChart的方法,用于向图表添加文本框控件。以下是该方法使用的参数列表:

  • top – 文本框与图表区域左上角的垂直偏移量,单位为图表区域的1/4000。
  • left – 文本框距离图表区域左上角的垂直偏移量,单位为图表区域的1/4000。
  • height – 文本框的高度,单位为图表区域的1/4000。
  • width – 文本框的宽度,单位为图表区域的1/4000。

该方法返回一个 Aspose.Cells.Drawing.TextBox 对象。TextBox 类表示图表中的文本框。

以下示例显示了如何向图表添加文本框。该示例使用之前的设计文件(exp_piechart.xls),其中包含一个图表。我们使用这个文件向图表中插入文本框以显示图表标题。以下是添加文本框到图表的原始代码。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Open the existing file.
Workbook workbook = new Workbook(dataDir + "chart.xls");
// Get the designer chart in the second sheet.
Worksheet sheet = workbook.Worksheets[1];
Aspose.Cells.Charts.Chart chart = sheet.Charts[0];
// Add a new textbox to the chart.
Aspose.Cells.Drawing.TextBox textbox0 = chart.Shapes.AddTextBoxInChart(100, 1100, 350, 2550);
// Fill the text.
textbox0.Text = "Sales By Region";
// Get the textbox text frame.
// Aspose.Cells.Drawing.MsoTextFrame textframe0 = textbox0.TextFrame;
// Set the textbox to adjust it according to its contents.
// textframe0.AutoSize = true;
// Set the font color.
textbox0.Font.Color = Color.Maroon;
// Set the font to bold.
textbox0.Font.IsBold = true;
// Set the font size.
textbox0.Font.Size = 14;
// Set font attribute to italic.
textbox0.Font.IsItalic = true;
// Get the filformat of the textbox.
Aspose.Cells.Drawing.FillFormat fillformat = textbox0.Fill;
// Get the lineformat type of the textbox.
Aspose.Cells.Drawing.LineFormat lineformat = textbox0.Line;
// Set the line weight.
lineformat.Weight = 2;
// Set the dash style to solid.
lineformat.DashStyle = Aspose.Cells.Drawing.MsoLineDashStyle.Solid;
// Save the excel file.
workbook.Save(dataDir + "chart.out.xls");

向图表添加图片

Aspose.Cells 允许您将图像插入到图表中。例如,添加一张图片以强调或赋予图表或其内容更多的含义,或者插入一个品牌图片文件。

Aspose.Cells.Drawing.ShapeCollection 类提供了一个名为 AddPictureInChart 的方法,用于向图表添加图片对象。以下是该方法使用的参数列表。

  • top – 图片与图表区域左上角的垂直偏移量,单位为图表区域的1/4000。
  • left – 图片与图表区域左上角的水平偏移量,单位为图表区域的1/4000。
  • stream - 一个包含图像数据的流对象。
  • widthScale - 图像宽度的比例值,以百分比表示。
  • heightScale - 图像高度的比例值,以百分比表示。

该方法返回一个 Aspose.Cells.Drawing.Picture 对象。Picture 类表示图表中的图片对象。

以下示例显示了如何向图表添加图片。该示例利用之前的设计文件(exp_piechart.xls),其中包含一个图表。我们使用这个文件向图表中插入图片。以下是添加图片到图表的原始代码。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Open the existing file.
Workbook workbook = new Workbook(dataDir + "chart.xls");
// Get an image file to the stream.
FileStream stream = new FileStream(dataDir + "logo.jpg", FileMode.Open, FileAccess.Read);
// Get the designer chart in the second sheet.
Worksheet sheet = workbook.Worksheets[0];
Aspose.Cells.Charts.Chart chart = sheet.Charts[0];
// Add a new picture to the chart.
Aspose.Cells.Drawing.Picture pic0 = chart.Shapes.AddPictureInChart(50, 50, stream, 40, 40);
// Get the lineformat type of the picture.
Aspose.Cells.Drawing.LineFormat lineformat = pic0.Line;
// Set the dash style.
lineformat.DashStyle = Aspose.Cells.Drawing.MsoLineDashStyle.Solid;
// Set the line weight.
lineformat.Weight = 4;
// Save the excel file.
workbook.Save(dataDir + "chart.out.xls");

在图表中添加复选框

Aspose.Cells 允许您通过使用 MsoDrawingType 枚举向图表工作表中插入复选框。以下示例演示了向图表工作表添加复选框。

以下图像显示了输出文件中带有复选框的图表工作表。

todo:image_alt_text

以下代码片段生成的输出文件已附上,供您参考。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a chart to the worksheet
int index = workbook.Worksheets.Add(SheetType.Chart);
Worksheet sheet = workbook.Worksheets[index];
sheet.Charts.AddFloatingChart(ChartType.Column, 0, 0, 1024, 960);
sheet.Charts[0].NSeries.Add("{1,2,3}", false);
// Add checkbox to the chart.
sheet.Charts[0].Shapes.AddShapeInChart(MsoDrawingType.CheckBox, PlacementType.Move, 400, 400, 1000, 600);
sheet.Charts[0].Shapes[0].Text = "CheckBox 1";
// Save the excel file.
workbook.Save(outputDir + "InsertCheckboxInChartSheet_out.xlsx");

高级主题

  • 向图表添加艺术字水印