Как получить Макс нет. столбцов, заполненных файлом XLSX с помощью POI?
Я знаю, что мы можем получить максимальное количество столбцов, повторяя все строки и вызывая getLastCellNumber
на каждом объекте строки.. но этот подход требует итерации по всем строкам, которых я хочу избежать, так как это займет много времени для файлов с миллионом строк(это те файлы, которые я ожидаю прочитать).
когда POI читает файл excel, он сохраняет размеры листа (номер первой строки, номер последней строки , первый номер col, последний номер col) в объекте DimensionsRecord
класс. Поэтому, если я получу этот объект, я получу то, что мне нужно. Эти объекты могут быть получены из класса листа, который является внутренним классом POI. Я смог извлечь то, что мне нужно для файлов XLS, Но я попал в блокпост для файлов XLSX.
поддерживает ли POI DimensionsRecord
объект для XLSX также? если да, то кто-нибудь пытался извлечь его? Или есть что-то другое, с помощью чего это можно сделать?? пожалуйста, помогите!
также я хотел спросить, является ли мой подход правильным или нет, я.e я использую внутренние классы POI (это делает мою работу), это правильно или я должен полагаться только на открытые API (слишком много времени).
1 ответов
на листах XSSF также есть объект измерения. Попробуйте:
CTSheetDimension dimension = sheet.getCTWorksheet().getDimension();
String sheetDimensions = dimenson.getRef();
одна проблема, которая приходит на ум, я не уверен, требуется ли для измерения (CTDimensions или DimensionsRecord) всегда быть правильным...