Si scopre che nascondere una serie di righe e colonne specificate non potrebbe essere molto più semplice. Ecco come lo si fa, in due semplici passaggi:
1) Nome del foglio di lavoro:
private Worksheet _xlSheet;
2) Ora, il nome di una gamma, tra cui la prima riga e la colonna da nascondere e quindi l'ultima riga e colonna da nascondere, in questo modo:
var hiddenRange = yourWorksheet.Range[_xlSheet.Cells[42, 1], _xlSheet.Cells[999, 13]];
hiddenRange.EntireRow.Hidden = true;
questo presuppone la prima riga che si desidera nascondere è 42, ecc Ovviamente si vorrà modificare questi valori hardcoded.
A titolo di esempio, ecco qualche codice vero e proprio, con costanti e variabili, invece di vals hardcoded, che risponde a un valore booleano il cui valore indica se il campo deve essere nascosto o no:
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;
}
Nota che è necessario fare riferimento all'assembly Microsoft.Office.Interop.Excel.
fonte
2015-11-15 01:32:49
Perché l'autofit e il nascosto si scontrano? Devo fare entrambe le cose: nascondere determinate righe (non le colonne), ma usare anche l'autofit. –