2.6.6 用NPOI操作EXCEL--設定初始視圖的行、列

來源:互聯網
上載者:User

    有些時候,我們可能希望產生的Excel檔案在被開啟的時候自動將焦點定位在某個儲存格或是選中某個地區中。在NPOI中可以通過SetAsActiveCell和SetActiveCellRange等幾個方法實現。

首先我們看一下設定初始視圖中選中某個儲存格的方法:

//use HSSFCell.SetAsActiveCell() to select B6 as the active column
HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet A");
CreateCellArray(sheet1);
sheet1.GetRow(5).GetCell(1).SetAsActiveCell();
//set TopRow and LeftCol to make B6 the first cell in the visible area
sheet1.TopRow = 5;
sheet1.LeftCol = 1;

其中CreateCellArray(sheet1)方法用來寫示範資料,其代碼為(下同):

static void CreateCellArray(HSSFSheet sheet)
{
    for (int i = 0; i < 300; i++)
    {
        HSSFRow row=sheet.CreateRow(i);
        for (int j = 0; j < 150; j++)
        {
            HSSFCell cell = row.CreateCell(j);
            cell.SetCellValue(i*j);
        }
    }
}

產生的Excel開啟時效果如下,注意B6為預設選中狀態,TopRow和LeftCol設定B6為當前可見地區的第一個儲存格:

如果不設定TopRow和LeftCol屬性,預設的可見域的第一個儲存格為A1,如下是另一種設定作用儲存格的方法,但沒有設定此Sheet的TopRow和LeftCol:

HSSFSheet sheet2 = hssfworkbook.CreateSheet("Sheet B");
sheet2.Sheet.SetActiveCell(1, 5);

對應產生的Excel顯示為:

除了設定某個儲存格為選中狀態外,還NPOI可以設定某個地區為選中狀態:

 

//use Sheet.SetActiveCellRange to select a cell range
HSSFSheet sheet3 = hssfworkbook.CreateSheet("Sheet C");
CreateCellArray(sheet3);
sheet3.Sheet.SetActiveCellRange(2, 5, 1, 5);

以上代碼設定了Sheet C的選中地區為B3:F6:

還有更強大的,設定多個選中地區:

//use Sheet.SetActiveCellRange to select multiple cell ranges
HSSFSheet sheet4 = hssfworkbook.CreateSheet("Sheet D");
CreateCellArray(sheet4);
List<CellRangeAddress8Bit> cellranges = new List<CellRangeAddress8Bit>();
cellranges.Add(new CellRangeAddress8Bit(1,3,2,5));
cellranges.Add(new CellRangeAddress8Bit(6,7,8,9));
sheet4.Sheet.SetActiveCellRange(cellranges,1,6,9);

如果一個Excel檔案中有多個Sheet,還可以通過如下語句設定開啟時的初始Sheet:

hssfworkbook.ActiveSheetIndex = 2;

 

返回目錄

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.