Получить максимальный диапазон на рабочем листе
При чтении данных с рабочего листа нам необходимо знать максимальную область.
При копировании всех данных с рабочего листа нам необходимо знать максимальную область.
При экспорте определенной области в html и pdf нам необходимо знать максимальную площадь.
Aspose.Cells для Python via .NET содержит различные способы нахождения максимального диапазона на листе.
Как получить максимальный диапазон
В Aspose.Cells для Python via .NET, если объекты row и column инициализированы, то эти строки и столбцы будут учтены в максимальной области, даже если в пустых строках или столбцах нет данных.
from aspose.cells import Workbook | |
workbook = Workbook("Book1.xlsx") | |
# Get all the worksheets in the book. | |
worksheets = workbook.worksheets | |
sheet = worksheets[0] | |
# Gets the max data range. | |
maxRow = sheet.cells.max_row | |
maxColumn = sheet.cells.max_column | |
# The range is A1:B3. | |
range = sheet.cells.create_range(0, 0, maxRow + 1, maxColumn + 1) | |
sheet.cells.get("A10").put_value(None) | |
maxRow = sheet.cells.max_row | |
maxColumn = sheet.cells.max_column | |
# The range is udpated to A1:B10. | |
range = sheet.cells.create_range(0, 0, maxRow + 1, maxColumn + 1) |
Как получить максимальный диапазон данных
В большинстве случаев нам нужно получить все диапазоны, содержащие все данные, даже если пустые ячейки за пределами диапазона отформатированы. И настройки формы, таблиц и сводных таблиц будут игнорироваться.
from aspose.cells import Workbook | |
# Instantiate a new Workbook. | |
workbook = Workbook("Book1.xlsx") | |
# Get all the worksheets in the book. | |
worksheets = workbook.worksheets | |
sheet = worksheets[0] | |
# Gets the max data range. | |
maxRow = sheet.cells.max_data_row | |
maxColumn = sheet.cells.max_data_column | |
# The range is A1:B3. | |
range = sheet.cells.create_range(0, 0, maxRow + 1, maxColumn + 1) | |
sheet.cells.get("A10").put_value(None) | |
maxRow = sheet.cells.max_data_row | |
maxColumn = sheet.cells.max_data_column | |
# The range is still A1:B3. | |
range = sheet.cells.create_range(0, 0, maxRow + 1, maxColumn + 1) |
Как получить максимальный диапазон отображения
Когда мы экспортируем все данные с листа в HTML, PDF или изображения, нам необходимо получить область, содержащую все видимые объекты, включая данные, стили, графику, таблицы и сводные таблицы. Ниже приведены коды, показывающие, как отображать максимальный диапазон в html:
from aspose.cells import CellArea, HtmlSaveOptions, Workbook | |
# Instantiate a new Workbook. | |
workbook = Workbook("Book1.xlsx") | |
# Get all the worksheets in the book. | |
worksheets = workbook.worksheets | |
# Gets the max display range. | |
range = worksheets[0].cells.max_display_range | |
# Save the range to html | |
saveOptions = HtmlSaveOptions() | |
saveOptions.export_active_worksheet_only = True | |
saveOptions.export_area = CellArea.create_cell_area(range.first_row, range.first_column, range.first_row + range.row_count - 1, range.first_column + range.column_count - 1) | |
# Save the range. | |
workbook.save("html.html", saveOptions) |
Вот исходный файл Excel.