VintaSoft Imaging .NET SDK 15.1: Документация для .NET разработчика
В этом разделе
XLSX: Работа с объектами рисования (рисунками, диаграммами, фигурами) на странице XLSX
В этом разделе
UI-элементы SpreadsheetEditorControl и WpfSpreadsheetEditorControl позволяют работать (просмотривать, добавлять, установливать, удалять) с объектами рисования рабочего листа XLSX в настольном приложении (WinForms, WPF).
"Объект рисования" - это изображение, диаграмма или фигура. Объекты рисования можно изменять визуально с помощью мыши/клавиатуры или программно.


Добавление нового изображения в рабочий лист XLSX

Вот C#/VB.NET код, который демонстрирует, как добавить новое изображение на сфокусированный рабочий лист XLSX:
public void AddPictureToXlsxWorksheet(
    Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl,
    System.IO.Stream imageStream)
{
    // get visual editor for spreadsheet document
    Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;

    // create image data
    Vintasoft.Imaging.ImageData imagedata = new Vintasoft.Imaging.ImageData(imageStream);

    // add image to the focused worksheet
    spreadsheetVisualEditor.AddPicture(imagedata);
}
Public Sub AddPictureToXlsxWorksheet(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl, imageStream As System.IO.Stream)
    ' get visual editor for spreadsheet document
    Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor

    ' create image data
    Dim imagedata As New Vintasoft.Imaging.ImageData(imageStream)

    ' add image to the focused worksheet
    spreadsheetVisualEditor.AddPicture(imagedata)
End Sub


Установка растрового изображения для существующей картинки на листе XLSX

Вот C#/VB.NET код, который демонстрирует, как установить растровое изображение для существующей картинки на листе XLSX:
public void SetPictureOnFocusedXlsxWorksheet(
    Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl,
    System.IO.Stream imageStream)
{
    // get visual editor for spreadsheet document
    Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;

    // if focused worksheet does not have focused drawing
    if (spreadsheetVisualEditor.FocusedDrawing == null)
        throw new System.Exception("Worksheet does not have focused drawing.");

    // create image data
    Vintasoft.Imaging.ImageData imagedata = new Vintasoft.Imaging.ImageData(imageStream);

    // set image for focused drawing
    spreadsheetVisualEditor.SetDrawingPicture(imagedata);
}
Public Sub SetPictureOnFocusedXlsxWorksheet(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl, imageStream As System.IO.Stream)
    ' get visual editor for spreadsheet document
    Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor

    ' if focused worksheet does not have focused drawing
    If spreadsheetVisualEditor.FocusedDrawing Is Nothing Then
        Throw New System.Exception("Worksheet does not have focused drawing.")
    End If

    ' create image data
    Dim imagedata As New Vintasoft.Imaging.ImageData(imageStream)

    ' set image for focused drawing
    spreadsheetVisualEditor.SetDrawingPicture(imagedata)
End Sub


Изменение размера объекта рисования на листе XLSX

Если вы хотите изменить размер объекта рисования на листе XLSX с помощью мыши, вам следует выполнить следующие шаги:

Перемещение объекта рисования на листе XLSX

Если вы хотите переместить (изменить положение) объект рисования листа XLSX с помощью мыши, вам следует выполнить следующие шаги:

Удаление картинки с листа XLSX

Вот C#/VB.NET код, который демонстрирует, как удалить картинку с листа XLSX:
public void DeletePictureFromXlsxWorksheet(Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl editorControl)
{
    // get visual editor for spreadsheet document
    Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor spreadsheetVisualEditor = editorControl.VisualEditor;

    // if focused worksheet does not have focused drawing
    if (spreadsheetVisualEditor.FocusedDrawing == null)
        throw new System.Exception("Worksheet does not have focused drawing.");

    // delete the focused picture from the focused worksheet
    spreadsheetVisualEditor.RemoveFocusedDrawing();
}
Public Sub DeletePictureFromXlsxWorksheet(editorControl As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetEditorControl)
    ' get visual editor for spreadsheet document
    Dim spreadsheetVisualEditor As Vintasoft.Imaging.Office.Spreadsheet.UI.SpreadsheetVisualEditor = editorControl.VisualEditor

    ' if focused worksheet does not have focused drawing
    If spreadsheetVisualEditor.FocusedDrawing Is Nothing Then
        Throw New System.Exception("Worksheet does not have focused drawing.")
    End If

    ' delete the focused picture from the focused worksheet
    spreadsheetVisualEditor.RemoveFocusedDrawing()
End Sub