最近研究下用C#匯出Excel。最後選擇要用NPOI來匯出。在網上看到了好多的教程啊。於是我興奮的模仿起來了。先建立個空的excel試試吧。結果:提示無法將類型“NPOI.SS.UserModel.Sheet”隱式轉換為“NPOI.HSSF.UserModel.HSSFSheet”。存在一個顯式轉換(是否缺少強制轉換?)。看了好多的教程都是一樣的寫法。看來問題是在我這了。但是我的庫是新下載的,最新的啊。
經過仔細的研究發現很多的名字改變了。於是開始了。。。。
按行列匯出資料:
HSSFWorkbook hssfworkbook = new HSSFWorkbook(); //命名空間:using NPOI.HSSF.UserModel;
Sheet sheet1 = hssfworkbook.CreateSheet("Sheet1"); //命名空間:using NPOI.SS.UserModel;
sheet1.CreateRow(0).CreateCell(0).SetCellValue("This is a Sample"); //在第一行,第一列添加一個值
sheet1.CreateRow(1).CreateCell(0).SetCellValue("This is a test");
Row row = sheet1.CreateRow(2); //建立第三行。
row.CreateCell(1).SetCellValue("test"); //在第三行第一列加入值 這兩行效果和上面那兩行是一樣的。建立多行用Row代碼清晰
sheet1.AutoSizeColumn(0); //會按照值的長短 自動調節列的大小
sheet1.AutoSizeColumn(1);
using (FileStream file = new FileStream(@"test.xls", FileMode.Create))
{
hssfworkbook.Write(file); //建立test.xls檔案。
file.Close();
}
上面的代碼就是匯出行列資料的核心代碼。 NPOI庫提供了很多功能,例子也很多。