在NPOI中,本身並不支援Chart等進階對象的建立,但通過l模板的方式可以巧妙地利用Excel強大的透視和圖表功能,請看以下例子。
首先建立模板檔案,定義兩列以及指向此地區的名稱“sales”:
建立資料表,資料來源填入剛才定義的地區:
最後產生的樞紐分析表所在Sheet的樣式如下:
至此,模板已經建好,另存新檔“D:\MyProject\NPOIDemo\Chart\Book2.xls”。我們發現,模板就相當於一個“空架子”,僅僅有操作方式沒並沒有任何資料。下一步,我們往這個“空架子”中填入資料。我們通過如下代碼往這個“空架子”中寫入資料:
static void Main(string[] args)
{
HSSFWorkbook wb = new HSSFWorkbook(new FileStream(@"D:\MyProject\NPOIDemo\Chart\Book2.xls", FileMode.Open));
HSSFSheet sheet1 = wb.GetSheet("Sheet1");
HSSFRow row = sheet1.CreateRow(1);
row.CreateCell(0).SetCellValue("令狐沖");
row.CreateCell(1).SetCellValue(50000);
row = sheet1.CreateRow(2);
row.CreateCell(0).SetCellValue("任盈盈");
row.CreateCell(1).SetCellValue(30000);
row = sheet1.CreateRow(3);
row.CreateCell(0).SetCellValue("風清揚");
row.CreateCell(1).SetCellValue(80000);
row = sheet1.CreateRow(4);
row.CreateCell(0).SetCellValue("任我行");
row.CreateCell(1).SetCellValue(20000);
//Write the stream data of workbook to the root directory
FileStream file = new FileStream(@"test.xls", FileMode.Create);
wb.Write(file);
file.Close();
}
開啟產生的test.xls檔案,探索資料已經被填進去了:
再看樞紐分析表,也有資料了:
總結:
Excel有著強大的報表透視和圖表功能,而且簡單易用,利用NPOI,可以對其進行充分利用。在做圖形報表、透視報表時將非常有用!
返回目錄