Оказывается, что скрыть диапазон строк и столбцов, которые вы указали, не намного проще.Вот как это сделать, выполнив два простых шага:
1) Назовите свой рабочий лист:
private Worksheet _xlSheet;
2) Теперь назовите диапазон, включая первую строку и столбец, которые нужно скрыть, а затемпоследняя строка и столбец, которые нужно скрыть, например:
var hiddenRange = yourWorksheet.Range[_xlSheet.Cells[42, 1], _xlSheet.Cells[999, 13]];
hiddenRange.EntireRow.Hidden = true;
Предполагается, что первая строка, которую вы хотите скрыть, - 42 и т. д. Очевидно, вы захотите изменить эти жестко закодированные значения.
Например, вот некоторый фактический код, использующий константы и переменные вместо жестко закодированных значений, который отвечает логическому значению, значение которого указывает, должен ли диапазон быть скрытым или нет:
private bool _hide;
private int _curTopRow;
private static readonly int ITEMDESC_COL = 1;
private static readonly int TOTALS_COL = 16;
. . .
if (_hide)
{
var hiddenRange = _xlSheet.Range[_xlSheet.Cells[_curTopRow, ITEMDESC_COL], _xlSheet.Cells[_curTopRow+3, TOTALS_COL]];
hiddenRange.EntireRow.Hidden = true;
}
Обратите внимание, что вам нужно сослатьсясборка Microsoft.Office.Interop.Excel.