设置Excel的自动筛选功能
单元格数字格式的问题
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); }
最终的效果显示: