Вставка изображений и фигур в файлы Excel с помощью Node.js через C++

Фигуры в Excel делятся на следующие основные типы:

  • Изображения
  • OLE-объекты
  • Линии
  • Прямоугольники
  • Базовые формы
  • Блочные стрелки
  • Уравнения
  • Блок-схемы
  • Звезды и баннеры
  • Выноски

Этот руководственный документ выберет одну или две фигуры из каждого типа для создания образцов. Благодаря этим примерам вы научитесь использовать Aspose.Cells для вставки указанной фигуры в лист.

Добавление изображений в лист Excel с помощью Node.js

Добавление изображений в электронную таблицу очень просто. Нужно лишь несколько строк кода:
Просто вызовите метод PictureCollection.add(number, number, number, number, Uint8Array) коллекции Pictures (обёрнутой в объект Worksheet). Метод PictureCollection.add(number, number, number, number, Uint8Array) принимает следующие параметры:

  • Индекс верхнего левого ряда, индекс верхнего левого ряда.
  • Индекс верхнего левого столбца, индекс верхнего левого столбца.
  • Имя файла изображения, имя файла изображения с полным путем.
const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");

// Instantiating a Workbook object
const workbook = new AsposeCells.Workbook();

// Adding a new worksheet to the Workbook object
const sheetIndex = workbook.getWorksheets().add();

// Obtaining the reference of the newly added worksheet by passing its sheet index
const worksheet = workbook.getWorksheets().get(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.getPictures().add(5, 5, path.join(dataDir, "logo.jpg"));

// Saving the Excel file
workbook.save(path.join(dataDir, "output.xls"));

Вставка объектов OLE в лист Excel с помощью Node.js

Aspose.Cells поддерживает добавление, извлечение и управление объектами OLE в рабочих листах. Поэтому у Aspose.Cells есть класс OleObjectCollection, который используется для добавления нового OLE-объекта в список коллекции. Другой класс, OleObject, представляет объект OLE. В нем есть важные члены:

  • Свойство OleObject.getImageData() задает изображение (иконку) в виде массива байтов. Это изображение отображается для отображения OLE-объекта в листе.
  • Свойство OleObject.getObjectData() задает данные объекта в виде массива байтов. Эти данные будут отображаться в соответствующей программе при двойном щелчке по иконке OLE-объекта.

Нижеприведенный пример показывает, как добавить объект(ы) OLE в лист Excel.

const path = require("path");
const fs = require("fs");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");

// Instantiate a new Workbook.
const workbook = new AsposeCells.Workbook();

// Get the first worksheet.
const sheet = workbook.getWorksheets().get(0);

// Define a string variable to store the image path.
const imageUrl = path.join(dataDir, "logo.jpg");

// Get the picture into the streams.
const imageData = fs.readFileSync(imageUrl);

// Get an excel file path in a variable.
const excelFilePath = path.join(dataDir, "book1.xls");

// Get the file into the streams.
const objectData = fs.readFileSync(excelFilePath);

// Add an Ole object into the worksheet with the image
// Shown in MS Excel.
sheet.getOleObjects().add(14, 3, 200, 220, imageData);

// Set embedded ole object data.
sheet.getOleObjects().get(0).setObjectData(objectData);

// Save the excel file
workbook.save(path.join(dataDir, "output.out.xls"));

Добавление линии в лист Excel с помощью Node.js

Форма линии относится к категории линии.

В Microsoft Excel (например, 2007 год):

  • Выберите ячейку, куда хотите вставить линию
  • Нажмите меню Вставка и выберите Фигуры.
  • Затем выберите линию из ‘Недавно использованные фигуры’ или ‘Линии’

Используя Aspose.Cells

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

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

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the line to the worksheet
sheet.getShapes().addLine(2, 0, 2, 0, 100, 300); // method 1
// sheet.getShapes().addAutoShape(AutoShapeType.Line, 2, 0, 2, 0, 100, 300); // method 2
// sheet.getShapes().addShape(MsoDrawingType.Line, 2, 0, 2, 0, 100, 300); // method 3

// Save. You can check your line in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

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

Вставка стрелки линии в лист Excel с помощью Node.js

Форма стрелки линии относится к категории Линии. Это особый случай линии.

В Microsoft Excel (например, 2007 год):

  • Выберите ячейку, в которую хотите вставить стрелку.
  • Нажмите меню Вставка и выберите Фигуры.
  • Затем выберите стрелку линии из ‘Недавно использованные фигуры’ или ‘Линии’

Используя Aspose.Cells

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

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

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the line arrow to the worksheet
let s = sheet.getShapes().addLine(2, 0, 2, 0, 100, 300); // method 1
// let s = sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.Line, 2, 0, 2, 0, 100, 300); // method 2
// let s = sheet.getShapes().addShape(AsposeCells.MsoDrawingType.Line, 2, 0, 2, 0, 100, 300); // method 3

// add a arrow at the line begin
s.getLine().setBeginArrowheadStyle(AsposeCells.MsoArrowheadStyle.Arrow); // arrow type
s.getLine().setBeginArrowheadWidth(AsposeCells.MsoArrowheadWidth.Wide); // arrow width
s.getLine().setBeginArrowheadLength(AsposeCells.MsoArrowheadLength.Short); // arrow length

// add a arrow at the line end
s.getLine().setEndArrowheadStyle(AsposeCells.MsoArrowheadStyle.ArrowOpen); // arrow type
s.getLine().setEndArrowheadWidth(AsposeCells.MsoArrowheadWidth.Narrow); // arrow width
s.getLine().setEndArrowheadLength(AsposeCells.MsoArrowheadLength.Long); // arrow length

// Save. You can check your arrow in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

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

Добавление прямоугольника в лист Excel с помощью Node.js

Форма прямоугольника относится к категории Прямоугольники.

В Microsoft Excel (например, 2007 год):

  • Выберите ячейку, в которую хотите вставить прямоугольник.
  • Нажмите меню Вставка и выберите Фигуры.
  • Затем выберите прямоугольник из ‘Недавно использованные фигуры’ или ‘Прямоугольники’

Используя Aspose.Cells

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

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

const AsposeCells = require("aspose.cells.node");
const path = require("path");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the rectangle to the worksheet
sheet.getShapes().addRectangle(2, 0, 2, 0, 100, 300);

// Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

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

Добавление куба в лист Excel с помощью Node.js

Форма куба относится к категории Основные фигуры.

В Microsoft Excel (например, 2007 год):

  • Выберите ячейку, в которую хотите вставить куб
  • Нажмите меню Вставка и выберите Фигуры.
  • Затем выберите Куб из раздела Основные фигуры

Используя Aspose.Cells

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

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

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the cube to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.Cube, 2, 0, 2, 0, 100, 300);

// Save. You can check your cube in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

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

Вставка выносной стрелки-квадрата в лист Excel с помощью Node.js

Форма выносной стрелки-квадрата относится к категории Блок-стрелки.

В Microsoft Excel (например, 2007 год):

  • Выберите ячейку, в которую хотите вставить стрелку квадратного выноса
  • Нажмите меню Вставка и выберите Фигуры.
  • Затем выберите квадрокрестовую стрелку вызова из Блок-стрелки

Используя Aspose.Cells

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

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

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the callout quad arrow to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.QuadArrowCallout, 2, 0, 2, 0, 100, 100);

//Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

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

Вставка знака умножения в Excel-таблицу с помощью Node.js

Форма знака умножения принадлежит категории Формулы фигур.

В Microsoft Excel (например, 2007 год):

  • Выберите ячейку, в которую хотите вставить знак умножения
  • Нажмите меню Вставка и выберите Фигуры.
  • Затем выберите знак умножения из Формулы фигур

Используя Aspose.Cells

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

Пример ниже показывает, как вставить знак умножения в лист.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the multiplication sign to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.MathMultiply, 2, 0, 2, 0, 100, 100);

// Save. You can check your multiplication in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

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

Вставка мультидокумента в Excel-таблицу с помощью Node.js

Форма мультидокумента принадлежит категории Блок-схемы.

В Microsoft Excel (например, 2007 год):

  • Выберите ячейку, куда вы хотите вставить мультидокумент
  • Нажмите меню Вставка и выберите Фигуры.
  • Затем выберите мультидокумент из Блок-схемы

Используя Aspose.Cells

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

Пример ниже показывает, как вставить мультидокумент в лист.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the multidocument to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.FlowChartMultidocument, 2, 0, 2, 0, 100, 100);

// Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

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

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

Форма пятиконечной звезды принадлежит категории Звёзды и Баннеры.

В Microsoft Excel (например, 2007 год):

  • Выберите ячейку, в которую хотите вставить пятиконечную звезду
  • Нажмите меню Вставка и выберите Фигуры.
  • Затем выберите пятиконечную звезду из Звёзды и Баннеры

Используя Aspose.Cells

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

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

const AsposeCells = require("aspose.cells.node");
const path = require("path");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the Five-pointed star to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.Star5, 2, 0, 2, 0, 100, 100);

// Save. You can check your icon in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

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

Вставка облака вызова мысленного пузыря в Excel с помощью Node.js

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

В Microsoft Excel (например, 2007 год):

  • Выберите ячейку, в которую хотите вставить размышляющее облачко
  • Нажмите меню Вставка и выберите Фигуры.
  • Затем выберите облако мысленного пузыря из Вызовы

Используя Aspose.Cells

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

Пример ниже показывает, как вставить облако мысленного пузыря в лист.

const AsposeCells = require("aspose.cells.node");
const path = require("path");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);

// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);

// Add the thought bubble cloud to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.CloudCallout, 2, 0, 2, 0, 100, 100);

// Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);

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

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