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

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

Aspose.Cells для Python via .NET предоставляет класс Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит коллекцию worksheets, позволяющую получить доступ к каждому листу Excel-файла. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию cells. Каждый элемент в коллекции cells представляет объект класса Cell.

Aspose.Cells для Python via .NET позволяет разработчикам добавлять данные в ячейки на листах, вызывая метод Cell класса put_value. Aspose.Cells для Python via .NET предоставляет перегруженные версии метода put_value, которые позволяют разработчикам добавлять различные виды данных в ячейки. С использованием этих перегруженных версий метода put_value возможно добавить булевое, строковое, вещественное, целочисленное или дату/время и т. д. значения в ячейку.

from aspose.cells import Workbook
from datetime import datetime
from os import os, path
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Create directory if it is not already present.
IsExists = path.isdir(dataDir)
if notIsExists:
os.makedirs(dataDir)
# Instantiating a Workbook object
workbook = Workbook()
# Obtaining the reference of the first worksheet
worksheet = workbook.worksheets[0]
# Adding a string value to the cell
worksheet.cells.get("A1").put_value("Hello World")
# Adding a double value to the cell
worksheet.cells.get("A2").put_value(20.5)
# Adding an integer value to the cell
worksheet.cells.get("A3").put_value(15)
# Adding a boolean value to the cell
worksheet.cells.get("A4").put_value(True)
# Adding a date/time value to the cell
worksheet.cells.get("A5").put_value(datetime.now())
# Setting the display format of the date
style = worksheet.cells.get("A5").get_style()
style.number = 15
worksheet.cells.get("A5").set_style(style)
# Saving the Excel file
workbook.save(dataDir + "output.out.xls")

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

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

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

Aspose.Cells для Python via .NET предоставляет класс Workbook, представляющий файл Microsoft Excel. Класс Workbook содержит коллекцию worksheets, позволяющую получить доступ к листам в файле. Лист представлен классом Worksheet. Класс Worksheet предоставляет коллекцию cells. Каждый элемент в коллекции cells представляет объект класса Cell.

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

  • string_value: возвращает строковое значение ячейки.
  • double_value: возвращает числовое значение ячейки.
  • bool_value: возвращает логическое значение ячейки.
  • date_time_value: возвращает дату/время значения ячейки.
  • float_value: возвращает дробное значение ячейки.
  • int_value: возвращает целочисленное значение ячейки.

Когда поле не заполнено, ячейки со значением double_value или float_value возбуждают исключение.

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

Типы Значений Ячеек Описание
IS_BOOL Указывает, что значение ячейки логическое.
IS_DATE_TIME Указывает, что значение ячейки является датой/временем.
IS_NULL Представляет пустую ячейку.
IS_NUMERIC Указывает, что значение ячейки является числовым.
IS_STRING Указывает, что значение ячейки является строкой.
IS_ERROR Указывает, что значение ячейки является значением ошибки.
IS_UNKNOWN Указывает, что значение ячейки неизвестно.

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

from aspose.cells import CellValueType, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Opening an existing workbook
workbook = Workbook(dataDir + "book1.xls")
# Accessing first worksheet
worksheet = workbook.worksheets[0]
for cell1 in worksheet.cells:
# Passing the type of the data contained in the cell for evaluation
if cell1.type == CellValueType.IS_STRING:
stringValue = cell1.string_value
print("String Value: " + stringValue)
elif cell1.type == CellValueType.IS_NUMERIC:
doubleValue = cell1.double_value
print("Double Value: " + str(doubleValue))
elif cell1.type == CellValueType.IS_BOOL:
boolValue = cell1.bool_value
print("Bool Value: " + str(boolValue))
elif cell1.type == CellValueType.IS_DATE_TIME:
dateTimeValue = cell1.date_time_value
print("DateTime Value: " + str(dateTimeValue))
elif cell1.type == CellValueType.IS_UNKNOWN:
stringValue = cell1.string_value
print("Unknown Value: " + stringValue)
elif cell1.type == CellValueType.IS_NULL:
pass

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