2009年9月8日 星期二

C# 與 Excel (4) - 隱藏儲存格

接著來介紹一下如何隱藏儲存格

第一種方式 : 針對特定(一或多)行/列隱藏

// 隱藏A行
Range rangeColumnA = (Range)ExcelSheet.Columns["A",System.Type.Missing];
rangeColumnA.Hidden = true;

// 隱藏C~D行
Range rangeColumnCtoD = (Range)ExcelSheet.Columns["C:D", System.Type.Missing];
rangeColumnCtoD.Hidden = true;

// 隱藏第3列
Range rangeRow3 = (Range)ExcelSheet.Rows[3, System.Type.Missing];
rangeRow3.Hidden = true;

// 隱藏第5~7列
Range rangeRow5to7 = (Range)ExcelSheet.Rows["5:7", System.Type.Missing];
rangeRow5to7.Hidden = true;


第二種方式 : 針對特定範圍, 選擇隱藏其範圍的行或列

// 設定 A1 ~ D4 範圍
Range rangeA1toD4 = ExcelSheet.get_Range("A1", "D4");
// 針對行隱藏 : A~D行就會被隱藏
rangeA1toD4.Columns.Hidden = true;
// 針對列隱藏 : 1~4列就會被隱藏
rangeA1toD4.Rows.Hidden = true;

這邊要注意一件事 :
就是隱藏儲存格之後, 不能再針對這些隱藏的行/列調整欄寬或列高(包含自動欄寬)
因為 Excel 的隱藏儲存格只是將這些儲存格的欄寬(列高)設為 0
如果調整了這些儲存格的欄寬(列高)
那這些儲存格就又會再度『出現』了

沒有留言:

張貼留言