DrawObject.SheetIndex
DrawObject.SheetIndex property
Indicates current sheet index of DrawObject.
public int SheetIndex { get; }
Examples
namespace AsposeCellsExamples
{
using System;
using Aspose.Cells;
using Aspose.Cells.Drawing;
using Aspose.Cells.Rendering;
// Custom handler that reads and displays the SheetIndex of each DrawObject
class SheetIndexReaderHandler : DrawObjectEventHandler
{
public override void Draw(DrawObject drawObject, float x, float y, float width, float height)
{
Console.WriteLine($"DrawObject Type: {drawObject.Type}");
Console.WriteLine($"SheetIndex: {drawObject.SheetIndex}");
Console.WriteLine($"Page: {drawObject.CurrentPage + 1}/{drawObject.TotalPages}");
Console.WriteLine($"Location: ({x}, {y}), Size: ({width} x {height})");
Console.WriteLine();
}
}
public class DrawObjectPropertySheetIndexDemo
{
public static void Run()
{
try
{
// Create a new workbook and get the first worksheet
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// Populate some cells to have content to render
sheet.Cells["A1"].PutValue("First");
sheet.Cells["A2"].PutValue("Second");
sheet.Cells["A3"].Formula = "=A1 & \" \" & A2";
// Add a shape so that shape draw objects are also generated
Shape shape = sheet.Shapes.AddShape(MsoDrawingType.Rectangle, 5, 0, 5, 0, 120, 60);
shape.Text = "Sample Shape";
// Set up rendering options with our custom handler
ImageOrPrintOptions renderOptions = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
DrawObjectEventHandler = new SheetIndexReaderHandler()
};
// Render the worksheet – this triggers the DrawObject events
SheetRender sheetRender = new SheetRender(sheet, renderOptions);
sheetRender.ToImage(0, "SheetIndexDemo.png");
// Save the workbook (optional)
workbook.Save("SheetIndexDemo.xlsx");
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
}
See Also
- class DrawObject
- namespace Aspose.Cells.Rendering
- assembly Aspose.Cells