Charts and Graphics in Spreadsheet Documents
- 4 minutes to read
This document contains information about embedded drawing objects - shapes, pictures and charts.
#Create a Drawing Object
The Shape interface is a base interface for all drawing objects. These objects are stored in the ShapeCollection collection, accessible using the Worksheet.Shapes property.
Note
Pictures and charts are contained in two collections: Shape
Use the Shape.ShapeType property to determine a drawing object’s type in ShapeCollection.
The table below lists the supported drawing object types and methods used to create them.
Drawing Object | Method |
---|---|
Shape | Shape |
Shape Group | Shape |
Text Box | Shape |
Shape Connector | Shape |
Picture | Picture |
Chart | Chart |
#Move and Position a Drawing Object
Use an API from the table below to define a drawing object’s location.
Property | Description |
---|---|
Floating |
Moves a floating object by a specified offset. |
Floating |
Gets or sets the distance from the left edge of the worksheet to the top left corner of the drawing object. |
Floating |
Specifies a distance between the top left corner of the floating object and the left edge of the cell where the top left corner of the floating object is located. |
Floating |
Defines the distance between the top edge of the worksheet and the top left corner of the floating object. |
Floating |
Gets a distance between the top left corner of the floating object to the top edge of the cell where the top left corner of the floating object is located. |
Floating |
Specifies a cell where the top left corner of a floating object is located. |
Floating |
Gets or sets a cell where the bottom right corner of a floating object is located. |
Shape. |
Retrieves the position of the current drawing object in the Z-order. The default shapes’ Z-order value is equal to their numerical order in the Shape |
Shape |
Resets the shapes’ Z-order. |
The image below illustrates the distances this API specifies.
#Resize and Rotate a Drawing Object
You can specify the drawing object’s size and rotation angle using the following properties.
- FloatingObject.Height - defines the object’s height;
- FloatingObject.Width - defines the object’s width;
- FloatingObject.LockAspectRatio - specifies whether to keep the drawing object’s proportions;
- Shape.Rotation - gets or sets the drawing object’s rotation angle;
- Shape.IncrementRotation - rotates the drawing object by the given number of degrees.
Users can resize or rotate a drawing object with handles visible for selected objects.
The FloatingObject.Placement property determines whether the drawing object moves and/or resizes together with underlying cells. For example, set the Placement property to Placement.MoveAndSize to make the drawing object move and resize with cells, as shown below.
#Specify Drawing Object Accessibility Settings
You can specify the following accessibility settings for a shape, picture or a chart:
- Shape.AlternativeText
- Sets the alternative, text-based representation of a drawing object content. Alternative text helps people that use screen readers to understand the document content.
- Shape.Decorative
- Specifies that the drawing object does not contain meaningful content to a document and is purely decorative. This options helps screen readers ignore these images and prevent unnecessary distractions for users with visual impairments. Decorative images are marked as artifacts when you export a workbook as an PDF/UA document.
#Associate the Drawing Object with a Hyperlink
You can embed a hyperlink to the drawing object. When a user clicks the drawing object, the link navigates to a certain location on the Internet, or to a file, to a place in a workbook, or it sends an email. Use the Shape.InsertHyperlink method to specify a hyperlink for a drawing object, and use the Shape.RemoveHyperlink method to delete a hyperlink. Refer to the following topic for a code example: How to: Add a Hyperlink to a Picture
#Delete a Drawing Object
The following methods allow you to remove a drawing object:
-
ShapeCollection.RemoveAt - removes the element at the specified index.
- Shape.Delete - deletes a drawing object.