1、項目添加引用NPOI包。
2、嘗試寫一行數據寫到excel中並導出。
public static void ExcelTest() { //導出:將數據庫中的數據,存儲到一個excel中 //1、查詢數據庫數據 //2、 生成excel //2_1、生成workbook //2_2、生成sheet //2_3、遍歷集合,生成行 //2_4、根據對象生成單元格 HSSFWorkbook workbook = new HSSFWorkbook(); //創建工作表 var sheet = workbook.CreateSheet("信息表"); //創建標題行(重點) var row = sheet.CreateRow(0); //創建單元格 var cellid = row.CreateCell(0); cellid.SetCellValue("編號"); var cellname = row.CreateCell(1); cellname.SetCellValue("用戶名"); var cellpwd = row.CreateCell(2); cellpwd.SetCellValue("密碼"); var celltype = row.CreateCell(3); celltype.SetCellValue("類型"); FileStream file = new FileStream(@"C:\Users\ibm\信息表.xls", FileMode.CreateNew, FileAccess.Write); workbook.Write(file); file.Dispose(); }
3、運行方法之后。相應代碼內容對應excel表格相應的地方
4、現在來模擬把表數據遍歷寫入到excel表格中。
創建表實體
public class User { public int Id { get; set; } public string Name { get; set; } public string pwd { get; set; } public string type { get; set; } }
public static void ExcelTest() { //導出:將數據庫中的數據,存儲到一個excel中 //1、查詢數據庫數據 User user1 = new User() { Id = 1, Name = "小明", pwd = "123123", type = "學生" }; User user2 = new User() { Id = 2, Name = "小紅", pwd = "123123", type = "學生" }; User user3 = new User() { Id = 3, Name = "小綠", pwd = "123123", type = "學生" }; User user4 = new User() { Id = 4, Name = "小白", pwd = "123123", type = "老師" }; User user5 = new User() { Id = 5, Name = "小黑", pwd = "123123", type = "老師" }; User user6 = new User() { Id = 6, Name = "小藍", pwd = "123123", type = "老師" }; List<User> list = new List<User>(); list.Add(user1); list.Add(user2); list.Add(user3); list.Add(user4); list.Add(user5); list.Add(user6); //2、 生成excel //2_1、生成workbook //2_2、生成sheet //2_3、遍歷集合,生成行 //2_4、根據對象生成單元格 HSSFWorkbook workbook = new HSSFWorkbook(); //創建工作表 var sheet = workbook.CreateSheet("信息表"); //創建標題行(重點) 從0行開始寫入 var row = sheet.CreateRow(0); //創建單元格 var cellid = row.CreateCell(0); cellid.SetCellValue("編號"); var cellname = row.CreateCell(1); cellname.SetCellValue("用戶名"); var cellpwd = row.CreateCell(2); cellpwd.SetCellValue("密碼"); var celltype = row.CreateCell(3); celltype.SetCellValue("類型"); //遍歷集合,生成行 int index = 1; //從1行開始寫入 for (int i = 0; i < list.Count; i++) { int x = index + i; var rowi = sheet.CreateRow(x); var id = rowi.CreateCell(0); id.SetCellValue(list[i].Id); var name = rowi.CreateCell(1); name.SetCellValue(list[i].Name); var pwd = rowi.CreateCell(2); pwd.SetCellValue(list[i].pwd); var type = rowi.CreateCell(3); type.SetCellValue(list[i].type); } FileStream file = new FileStream(@"C:\Users\ibm\信息表.xls", FileMode.CreateNew, FileAccess.Write); workbook.Write(file); file.Dispose(); }
5、運行ExcelTest()方法之后效果。
6、源碼地址: https://gitee.com/linlijie071297/daily_learning.git