Вставка изображений и фигур в файлы Excel с помощью Node.js через C++
Не волнуйтесь! Aspose.Cells поддерживает все эти операции.
Фигуры в 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
Вы можете использовать следующий метод для вставки линии в таблицу.
Метод возвращает объект LineShape.
Следующий пример показывает, как вставить линию в лист.
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
Вы можете использовать следующий метод для вставки стрелки на лист.
Метод возвращает объект LineShape.
Следующий пример показывает, как вставить стрелку линии в лист.
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
Вы можете использовать следующий метод для вставки прямоугольника на листе.
Метод возвращает объект RectangleShape.
Следующий пример показывает, как вставить прямоугольник в лист.
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
Вы можете использовать следующий метод для вставки куба на листе.
Этот метод возвращает объект Shape.
Следующий пример показывает, как вставить куб в лист.
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.
Этот метод возвращает объект Shape.
Пример ниже показывает, как вставить квадрокрестовую стрелку вызова в лист.
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.
Этот метод возвращает объект Shape.
Пример ниже показывает, как вставить знак умножения в лист.
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.
Этот метод возвращает объект Shape.
Пример ниже показывает, как вставить мультидокумент в лист.
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
Вы можете использовать следующий метод для вставки пятиконечной звезды в лист.
Этот метод возвращает объект Shape.
Пример ниже показывает, как вставить пятиконечную звезду в лист.
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
Вы можете использовать следующий метод для вставки облака с мыслями на листе.
Этот метод возвращает объект Shape.
Пример ниже показывает, как вставить облако мысленного пузыря в лист.
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);
Выполните приведенный выше код, и вы получите следующие результаты:
Продвинутые темы
- Изменение значений коррекции формы
- Копировать формы между рабочими листами
- Данные в не-примитивной форме
- Поиск абсолютной позиции формы внутри рабочего листа
- Получить точки соединения от формы
- Управление элементами управлениями
- Добавление значков на рабочий лист
- Управление объектами OLE
- Управление изображениями
- Управление умным искусством
- Управление текстовыми полями
- Добавление водяного знака WordArt на лист
- Обновить значения связанных форм
- Отправить форму вперед или назад внутри листа
- Управление параметрами формы
- Управление параметрами текста формы
- Веб-расширения - дополнения для Office