Microsoft Office Excel 365.
У объекта Range есть свойство Hidden. Range используется для всего: для отдельных ячеек, групп ячеек, целых строк и столбцов (колонок). Для доступа к строкам и столбцам у Worksheet есть свойства Columns и Rows.
Напрямую свойство Hidden нельзя применить к Range, а можно только к колонкам или столбцам. Для всего листа это просто "Columns(адрес).Hidden" или "Rows(адрес).Hidden", а для отдельной ячейки нужно схитрить: "[A12].Columns(1).Hidden".
Есть ещё объединённые ячейки, с ними посложнее. Напрямую понять, какая из них отображается, нельзя. Во-первых, есть свойство MergeCell, которое, хотя и описано, как типа Variant, имеет логическое значение и говорит о том, объединена ли ячейка с другими или нет. Есть свойство MergeArea, которое возвращает диапазон объединённых ячеек для каждой из этих ячеек. Ну а понять, отображается ячейка или нет, поможет анализ содержимого. У неотображаемых ячеек Value пустое, ему можно присвоить значение (без выдачи ошибки), но потом Value всё равно будет пустое. Отображаемая ячейка работает как обычно.
На счёт "aspose.cells" не знаю, а через Excel Interop всё прекрасно решается.
UPD Посмотрел в aspose, там есть "Column.IsHidden", а у Range есть EntireColumn (строки соотвественно). К этому нужно добираться через "Worksheet.Cells". Объектная модель немного отличается, так как в файле сохраняется информация только об инициализированных ячейках.