1 SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=ArchiveSys;Integrated Security=True");
2 //SQLHelper sqlhelper = new SQLHelper();
3 string sql = "select * from StuFeedback";
4 using (SqlCommand cmd = new SqlCommand(sql, conn))
5 {
6 if (conn.State==ConnectionState.Closed)
7 {
8 conn.Open();
9 }
10 using (SqlDataReader read = cmd.ExecuteReader())
11 {
12 if (read.HasRows)
13 {
14 IWorkbook wk = new HSSFWorkbook();//创建workbook
15 ISheet sheet = wk.CreateSheet("stufeedback");//创建工作表
16 int rowIndex = 0;
17 #region 循环创建行与列
18 while (read.Read())
19 {
20 int id = read.GetInt32(0);
21 int? stuid = read.IsDBNull(1) ? null : (int?)read.GetInt32(1);//int?为可控值类型
22 string subtime = read.IsDBNull(2) ? "NULL" : read.GetString(2);
23 int? appstate = read.IsDBNull(3) ? null : (int?)read.GetInt32(3);
24 string stuname = read.IsDBNull(4) ? "NULL" : read.GetString(4);
25 //创建行
26 IRow row = sheet.CreateRow(rowIndex);
27 //创建单元格
28 row.CreateCell(0).SetCellValue(id);
29 #region 若为空值,创建空单元格
30 if (stuid == null)
31 {
32 row.CreateCell(1, CellType.BLANK);
33 }
34 else
35 {
36 row.CreateCell(1).SetCellValue((int)stuid);
37 }
38 #endregion
39 row.CreateCell(2).SetCellValue(subtime);
40 #region 对于空值处理
41 if (appstate == null)
42 {
43 row.CreateCell(3, CellType.BLANK);
44 }
45 else
46 {
47 row.CreateCell(3).SetCellValue((int)appstate);
48 }
49 #endregion
50 row.CreateCell(4).SetCellValue(stuname);
51 rowIndex++;
52 }
53 #endregion
54 using (FileStream fs = File.OpenWrite(@"D:\学籍管理\stufeedback.xls"))
55 {
56 wk.Write(fs);
57 Response.Write("<script>alert('成功!')</script>");
58 }
59 }
60 else
61 {
62 Response.Write("<script>alert('数据为空!')</script>");
63 }
64 }
65 }