Управление данными файлов Excel

Как добавить данные в ячейки

Aspose.Cells for Node.js via C++ предоставляет класс, Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит коллекцию Worksheets, которая позволяет получать доступ к каждому листу Excel файла. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells. Каждый элемент в коллекции Cells представляет объект класса Cell.

Aspose.Cells позволяет разработчикам добавлять данные в ячейки листов, вызывая метод класса Cell putValue. Предоставляются перегруженные версии метода putValue, которые позволяют добавлять различные виды данных в ячейки. Используя эти перегруженные версии метода putValue, можно добавлять в ячейку значения типа Boolean, строка, двойное, целое или дата/время.

const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Create directory if it is not already present.
const fs = require("fs");
if (!fs.existsSync(dataDir)) {
fs.mkdirSync(dataDir);
}
// Instantiating a Workbook object
let workbook = new AsposeCells.Workbook();
// Obtaining the reference of the first worksheet
let worksheet = workbook.getWorksheets().get(0);
// Adding a string value to the cell
worksheet.getCells().get("A1").putValue("Hello World");
// Adding a double value to the cell
worksheet.getCells().get("A2").putValue(20.5);
// Adding an integer value to the cell
worksheet.getCells().get("A3").putValue(15);
// Adding a boolean value to the cell
worksheet.getCells().get("A4").putValue(true);
// Adding a date/time value to the cell
worksheet.getCells().get("A5").putValue(new Date());
// Setting the display format of the date
let style = worksheet.getCells().get("A5").getStyle();
style.setNumber(15);
worksheet.getCells().get("A5").setStyle(style);
// Saving the Excel file
workbook.save(path.join(dataDir, "output.out.xls"));

Как улучшить эффективность

Если вы используете метод putValue для вставки большого объема данных в лист, рекомендуется добавлять значения сначала по строкам, затем по столбцам. Такой подход значительно повышает эффективность ваших приложений.

Как извлечь данные из ячеек

Aspose.Cells for Node.js via C++ предоставляет класс, Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит коллекцию Worksheets, позволяющую получать доступ к листам файла. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells. Каждый элемент в Cells — объект класса Cell.

Класс Cell содержит несколько свойств, позволяющих получать значения из ячеек в зависимости от их типа данных. Эти свойства включают:

  • getStringValue(): возвращает строковое значение ячейки.
  • getDoubleValue(): возвращает двойное значение ячейки.
  • getBoolValue(): возвращает логическое значение ячейки.
  • getDateTimeValue(): возвращает значение даты/времени ячейки.
  • getFloatValue(): возвращает значение с плавающей точкой ячейки.
  • getIntValue(): возвращает целочисленное значение ячейки.

Если поле не заполнено, ячейки с getDoubleValue() или getFloatValue() вызывают исключение.

Тип данных, содержащийся в ячейке, также можно проверить, используя метод getType() класса Cell. На самом деле, метод getType() класса Cell основан на перечислении CellValueType, предопределённые значения которого приведены ниже:

Типы Значений Ячеек Описание
IsBool Указывает, что значение ячейки является логическим.
IsDateTime Указывает, что значение ячейки является дата/время.
IsNull Представляет пустую ячейку.
IsNumeric Указывает, что значение ячейки является числовым.
IsString Указывает, что значение ячейки является строкой.
IsUnknown Указывает, что значение ячейки неизвестно.

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

const AsposeCells = require("aspose.cells.node");
const path = require("path");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Opening an existing workbook
const workbook = new AsposeCells.Workbook("book1.xls");
// Accessing first worksheet
const worksheet = workbook.getWorksheets().get(0);
var cells = worksheet.getCells();
var maxRow = cells.getMaxRow();
var maxColumn = cells.getMaxColumn();
for (let i = 0; i <= maxRow; i++) {
for (let j = 0; j <= maxColumn; j++)
{
const cell1 = cells.get(i, j);
// Variables to store values of different data types
let stringValue;
let doubleValue;
let boolValue;
let dateTimeValue;
// Passing the type of the data contained in the cell for evaluation
switch (cell1.getType()) {
// Evaluating the data type of the cell data for string value
case AsposeCells.CellValueType.IsString:
stringValue = cell1.getStringValue();
console.log("String Value: " + stringValue);
break;
// Evaluating the data type of the cell data for double value
case AsposeCells.CellValueType.IsNumeric:
doubleValue = cell1.getDoubleValue();
console.log("Double Value: " + doubleValue);
break;
// Evaluating the data type of the cell data for boolean value
case AsposeCells.CellValueType.IsBool:
boolValue = cell1.getBoolValue();
console.log("Bool Value: " + boolValue);
break;
// Evaluating the data type of the cell data for date/time value
case AsposeCells.CellValueType.IsDateTime:
dateTimeValue = cell1.getDateTimeValue();
console.log("DateTime Value: " + dateTimeValue);
break;
// Evaluating the unknown data type of the cell data
case AsposeCells.CellValueType.IsUnknown:
stringValue = cell1.getStringValue();
console.log("Unknown Value: " + stringValue);
break;
// Terminating the type checking of type of the cell data is null
case AsposeCells.CellValueType.IsNull:
break;
}
}
}

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