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 с помощью мыши, вам следует выполнить следующие шаги:
- Нажать на объект рисования, размер которого необходимо изменить, и вы увидите 8 точек изменения размера, которые позволяют изменять размер объекта рисования с помощью мыши
- Нажать на любую точку изменения размера и переместить мышь, чтобы изменить размер объекта рисования
Перемещение объекта рисования на листе 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