Вставка изображений и формы файлов Excel.

Фигуры в 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

Вы можете использовать следующий метод для вставки линии в таблицу.

В следующем примере показано, как вставить линию на лист.

// 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

Вы можете использовать следующий метод для вставки стрелки на лист.

В следующем примере показано, как вставить стрелку на лист.

// 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

Вы можете использовать следующий метод для вставки прямоугольника на листе.

В следующем примере показано, как вставить прямоугольник на лист.

// 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

Вы можете использовать следующий метод для вставки куба на листе.

Пример ниже показывает, как вставить куб в лист 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.

Приведенный ниже пример показывает, как вставить стрелку квадратного выноса в лист 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.

В следующем примере показано, как вставить знак умножения в лист 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.

В следующем примере показано, как вставить мультидокумент в лист 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

Вы можете использовать следующий метод для вставки пятиконечной звезды в лист.

Следующий пример показывает, как вставить пятиконечную звезду на лист.

// 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

Вы можете использовать следующий метод для вставки облака с мыслями на листе.

В следующем примере показано, как вставить облако с мыслями на лист.

// 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);

Выполните приведенный выше код, и вы получите следующие результаты:

Продвинутые темы