NPOI之Excel——自動篩選、數字格式


設置Excel的自動篩選功能

最新導出數據需要使用Excel的篩選功能,網上多方查找,終於在一個繁體的網站上找到了方法,呃,這個網站還是Java的,講的是POI,不過.NET的NPOI也就一樣用了。

CellRangeAddress c = CellRangeAddress.ValueOf("A1");
sheet.SetAutoFilter(c);

通過設置要進行自動篩選的單個單元格或者多個單元格,然后在sheet上進行設置自動篩選。

(參考:http://www.javaworld.com.tw/jute/post/view?bid=11&id=301435

順便一起說一個

單元格數字格式的問題

NPOI向Excel文件中插入數值時,可能會出現數字當作文本的情況(即左上角有個綠色三角),這樣單元格的值就無法參與運算。這是因為在SetCellValue設置單元格值的時候使用了字符串進行賦值,默認被轉換成了字符型。如果需要純數字型的,請向SetCellValue中設置數字型變量。

以上兩個問題的示例代碼如下:

//建立空白工作薄
IWorkbook workbook = new HSSFWorkbook();

//在工作薄中建立工作表
ISheet sheet = workbook.CreateSheet();

//填充篩選的內容
sheet.CreateRow(0).CreateCell(0).SetCellValue("省份");
sheet.CreateRow(1).CreateCell(0).SetCellValue("河北省");
sheet.CreateRow(2).CreateCell(0).SetCellValue("湖南省");

//驗證數字格式問題
sheet.GetRow(1).CreateCell(2).SetCellValue("123");
sheet.GetRow(2).CreateCell(2).SetCellValue(123);

//設置Excel的自動篩選
CellRangeAddress c = CellRangeAddress.ValueOf("A1");
sheet.SetAutoFilter(c);

//寫文件
using (FileStream fs = new FileStream("haha.xls", FileMode.Create, FileAccess.Write))
{
    workbook.Write(fs);
}

最終的效果顯示:

QQ截圖20130708153031

更多NPOI相關:http://www.cnblogs.com/xwgli/category/467970.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM