Вставка изображений и формы файлов Excel.
Иногда вам нужно вставить необходимые формы в Лист книги Excel. Возможно, вам понадобится вставить ту же форму в разные позиции на листе. Или вам нужно пакетно вставить формы на Лист книги Excel.
Не волнуйтесь! Aspose.Cells поддерживает все эти операции.
Фигуры в Excel в основном разделяются на следующие типы:
- Изображения
- OLE-объекты
- Линии
- Прямоугольники
- Базовые формы
- Блочные стрелки
- Уравнения
- Блок-схемы
- Звезды и баннеры
- Выноски
В этом руководстве будет выбрано одна или две формы из каждого типа для создания образцов. Через эти примеры вы узнаете, как использовать Aspose.Cells для вставки указанной формы в таблицу.
Добавление изображений в лист Excel в C#
Добавление изображений в электронную таблицу очень просто. Нужно лишь несколько строк кода: Просто вызовите метод Add коллекции Pictures (инкапсулированной в объекте Worksheet). Метод Add принимает следующие параметры:
- Индекс верхнего левого ряда, индекс верхнего левого ряда.
- Индекс верхнего левого столбца, индекс верхнего левого столбца.
- Имя файла изображения, имя файла изображения с полным путем.
// 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); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Workbook object | |
int sheetIndex = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[sheetIndex]; | |
// Adding a picture at the location of a cell whose row and column indices | |
// Are 5 in the worksheet. It is "F6" cell | |
worksheet.Pictures.Add(5, 5, dataDir + "logo.jpg"); | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); |
Вставка объектов OLE в лист Excel в C#
Aspose.Cells поддерживает добавление, извлечение и манипулирование объектами OLE в листах Excel. По этой причине Aspose.Cells имеет класс OleObjectCollection, используемый для добавления нового объекта OLE в список коллекции. Еще один класс, OleObject, представляет объект OLE. У него есть несколько важных членов:
- Свойство ImageData определяет изображение (иконку) в виде массива байтов. Изображение будет отображаться для показа объекта OLE в листе Excel.
- Свойство ObjectData определяет объектные данные в виде массива байтов. Эти данные будут показаны в связанной программе при двойном щелчке по иконке объекта OLE.
Нижеприведенный пример показывает, как добавить объект(ы) OLE в лист Excel.
// 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); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet. | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Define a string variable to store the image path. | |
string ImageUrl = dataDir + "logo.jpg"; | |
// Get the picture into the streams. | |
FileStream fs = File.OpenRead(ImageUrl); | |
// Define a byte array. | |
byte[] imageData = new Byte[fs.Length]; | |
// Obtain the picture into the array of bytes from streams. | |
fs.Read(imageData, 0, imageData.Length); | |
// Close the stream. | |
fs.Close(); | |
// Get an excel file path in a variable. | |
string path = dataDir + "book1.xls"; | |
// Get the file into the streams. | |
fs = File.OpenRead(path); | |
// Define an array of bytes. | |
byte[] objectData = new Byte[fs.Length]; | |
// Store the file from streams. | |
fs.Read(objectData, 0, objectData.Length); | |
// Close the stream. | |
fs.Close(); | |
// Add an Ole object into the worksheet with the image | |
// Shown in MS Excel. | |
sheet.OleObjects.Add(14, 3, 200, 220, imageData); | |
// Set embedded ole object data. | |
sheet.OleObjects[0].ObjectData = objectData; | |
// Save the excel file | |
workbook.Save(dataDir + "output.out.xls"); |
Вставка линии на лист Excel в C#
Форма линии относится к категории линии.
В Microsoft Excel (например, 2007 год):
- Выберите ячейку, куда хотите вставить линию
- Нажмите меню Вставка и выберите Фигуры.
- Затем выберите линию из ‘Недавно использованные формы’ или ‘Линии’
Используя Aspose.Cells
Вы можете использовать следующий метод для вставки линии в таблицу.
Метод возвращает объект LineShape.
В следующем примере показано, как вставить линию на лист.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the line to the worksheet | |
sheet.Shapes.AddLine(2, 0, 2, 0, 100, 300);//method 1 | |
//sheet.Shapes.AddAutoShape(AutoShapeType.Line, 2, 0, 2, 0, 100, 300);//method 2 | |
//sheet.Shapes.AddShape(MsoDrawingType.Line, 2, 0, 2, 0, 100, 300);//method 3 | |
//Save.You can check your line in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Выполните приведенный выше код, и вы получите следующие результаты:
Вставка стрелки линии в рабочий лист Excel в C#
Форма стрелочной линии относится к категории Линии. Это особый случай линии.
В Microsoft Excel (например, 2007 год):
- Выберите ячейку, в которую хотите вставить стрелку.
- Нажмите меню Вставка и выберите Фигуры.
- Затем выберите стрелку из ‘Недавно используемых форм’ или ‘Линий’.
Используя Aspose.Cells
Вы можете использовать следующий метод для вставки стрелки на лист.
Метод возвращает объект LineShape.
В следующем примере показано, как вставить стрелку на лист.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the line arrow to the worksheet | |
Shape s = sheet.Shapes.AddLine(2, 0, 2, 0, 100, 300);//method 1 | |
//Shape s = sheet.Shapes.AddAutoShape(AutoShapeType.Line, 2, 0, 2, 0, 100, 300);//method 2 | |
//Shape s = sheet.Shapes.AddShape(MsoDrawingType.Line, 2, 0, 2, 0, 100, 300);//method 3 | |
//add a arrow at the line begin | |
s.Line.BeginArrowheadStyle = MsoArrowheadStyle.Arrow;//arrow type | |
s.Line.BeginArrowheadWidth = MsoArrowheadWidth.Wide;//arrow width | |
s.Line.BeginArrowheadLength = MsoArrowheadLength.Short;//arrow length | |
//add a arrow at the line end | |
s.Line.EndArrowheadStyle = MsoArrowheadStyle.ArrowOpen;//arrow type | |
s.Line.EndArrowheadWidth = MsoArrowheadWidth.Narrow;//arrow width | |
s.Line.EndArrowheadLength = MsoArrowheadLength.Long;//arrow length | |
//Save.You can check your arrow in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Выполните приведенный выше код, и вы получите следующие результаты:
Вставка прямоугольника в рабочий лист Excel в C#
Форма прямоугольника относится к категории Прямоугольники.
В Microsoft Excel (например, 2007 год):
- Выберите ячейку, в которую хотите вставить прямоугольник.
- Нажмите меню Вставка и выберите Фигуры.
- Затем выберите прямоугольник из ‘Недавно используемых фигур’ или ‘Прямоугольники’.
Используя Aspose.Cells
Вы можете использовать следующий метод для вставки прямоугольника на листе.
Метод возвращает объект RectangleShape.
В следующем примере показано, как вставить прямоугольник на лист.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the rectangle to the worksheet | |
sheet.Shapes.AddRectangle(2, 0, 2, 0, 100, 300); | |
//Save | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Выполните приведенный выше код, и вы получите следующие результаты:
Вставка куба на лист Excel в C#
Форма куба относится к категории Базовые фигуры.
В Microsoft Excel (например, 2007 год):
- Выберите ячейку, в которую хотите вставить куб
- Нажмите меню Вставка и выберите Фигуры.
- Затем выберите Куб из Базовые фигуры
Используя Aspose.Cells
Вы можете использовать следующий метод для вставки куба на листе.
Метод возвращает объект Shape.
Пример ниже показывает, как вставить куб в лист Excel.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the cube to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.Cube, 2, 0, 2, 0, 100, 300); | |
//Save.You can check your cube in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Выполните приведенный выше код, и вы получите следующие результаты:
Вставка стрелочной подписи на лист Excel в C#
Форма стрелки квадратного выноса относится к категории Блочные стрелки.
В Microsoft Excel (например, 2007 год):
- Выберите ячейку, в которую хотите вставить стрелку квадратного выноса
- Нажмите меню Вставка и выберите Фигуры.
- Затем выберите стрелку квадратного выноса из категории Блочные стрелки
Используя Aspose.Cells
Вы можете использовать следующий метод для вставки стрелки квадратного выноса на лист Excel.
Метод возвращает объект Shape.
Приведенный ниже пример показывает, как вставить стрелку квадратного выноса в лист Excel.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the callout quad arrow to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.QuadArrowCallout, 2, 0, 2, 0, 100, 100); | |
//Save | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Выполните приведенный выше код, и вы получите следующие результаты:
Вставка знака умножения в рабочий лист Excel в C#
Форма знака умножения относится к категории Формулы.
В Microsoft Excel (например, 2007 год):
- Выберите ячейку, в которую хотите вставить знак умножения
- Нажмите меню Вставка и выберите Фигуры.
- Затем выберите знак умножения из Фигуры уравнения
Используя Aspose.Cells
Вы можете использовать следующий метод для вставки знака умножения в листе Excel.
Метод возвращает объект Shape.
В следующем примере показано, как вставить знак умножения в лист Excel.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the multiplication sign to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.MathMultiply, 2, 0, 2, 0, 100, 100); | |
//Save.You can check your multiplication in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Выполните приведенный выше код, и вы получите следующие результаты:
Вставка мультидокумента на лист Excel в C#
Форма мультидокумента принадлежит к категории Блок-схемы.
В Microsoft Excel (например, 2007 год):
- Выберите ячейку, куда вы хотите вставить мультидокумент
- Нажмите меню Вставка и выберите Фигуры.
- Затем выберите мультидокумент из Блок-схемы
Используя Aspose.Cells
Вы можете использовать следующий метод для вставки мультидокумента в листе Excel.
Метод возвращает объект Shape.
В следующем примере показано, как вставить мультидокумент в лист Excel.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the multidocument to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.FlowChartMultidocument, 2, 0, 2, 0, 100, 100); | |
//Save | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Выполните приведенный выше код, и вы получите следующие результаты:
Вставка пятиконечной звезды на лист Excel в C#
Форма пятиконечной звезды относится к категории Звезды и транспаранты.
В Microsoft Excel (например, 2007 год):
- Выберите ячейку, в которую хотите вставить пятиконечную звезду
- Нажмите меню Вставка и выберите Фигуры.
- Затем выберите пятиконечную звезду из Звезды и транспаранты
Используя Aspose.Cells
Вы можете использовать следующий метод для вставки пятиконечной звезды в лист.
Метод возвращает объект Shape.
Следующий пример показывает, как вставить пятиконечную звезду на лист.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the Five-pointed star to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.Star5, 2, 0, 2, 0, 100, 100); | |
//Save.You can check your icon in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Выполните приведенный выше код, и вы получите следующие результаты:
Вставка облачка мыслей в лист Excel с помощью C#
Форма размышляющего облачка относится к категории Выноски.
В Microsoft Excel (например, 2007 год):
- Выберите ячейку, в которую хотите вставить размышляющее облачко
- Нажмите меню Вставка и выберите Фигуры.
- Затем выберите размышляющее облачко из Выноски
Используя Aspose.Cells
Вы можете использовать следующий метод для вставки облака с мыслями на листе.
Метод возвращает объект Shape.
В следующем примере показано, как вставить облако с мыслями на лист.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the thought bubble cloud to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.CloudCallout, 2, 0, 2, 0, 100, 100); | |
//Save | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Выполните приведенный выше код, и вы получите следующие результаты:
Продвинутые темы
- Изменение значений коррекции формы
- Копировать формы между рабочими листами
- Данные в не-примитивной форме
- Поиск абсолютной позиции формы внутри рабочего листа
- Получить точки соединения от формы
- Управление элементами управлениями
- Добавление значков на рабочий лист
- Управление объектами OLE
- Управление изображениями
- Управление умным искусством
- Управление текстовыми полями
- Добавление водяного знака WordArt на лист
- Обновить значения связанных форм
- Отправить форму вперед или назад внутри листа
- Управление параметрами формы
- Управление параметрами текста формы
- Веб-расширения - дополнения для Office