NPOI导出为Excel文件

1.添加引用

NPOI导出为Excel文件_第1张图片

2.将ExcelRender.cs和SqlHelper.cs两个类拷贝到App_Code文件夹下

3.写后台代码

  eg:根据部门和日期导出成绩表

 1 /// <summary>
 2     /// 点击导出Excel
 3     /// </summary>
 4     /// <param name="sender"></param>
 5     /// <param name="e"></param>
 6     protected void Button1_Click(object sender, EventArgs e)
 7     {
 8         if (txtStart.Text != "" && TextBox2.Text != "")
 9         {
10             DataTable table = new DataTable();
11             table.Columns.Add("工号", typeof(string));
12             table.Columns.Add("姓名", typeof(string));
13             table.Columns.Add("分数", typeof(string));
14             table.Columns.Add("考试时间", typeof(string));
15             table.Columns.Add("科目", typeof(string));
16 
17             List<Score> list = new List<Score>();
18             //按时间导出
19             DateTime d1 = Convert.ToDateTime(txtStart.Text);
20             DateTime d2 = Convert.ToDateTime(TextBox2.Text);
21             //按部门导出
22             var qStu = _Context.Student.Where(p => p.SBranch.ToString() == TreeView1.SelectedValue);
23             if (qStu.Count() > 0)
24             {
25                 for (int i = 0; i < qStu.Count(); i++)
26                 {
27                     var qSc = _Context.Score.Where(p=>p.SNum == qStu.ToList()[i].SNum);
28                     if (qSc.Count() > 0)
29                     {
30                         foreach (Score sc in qSc)
31                         {
32                             list.Add(sc);
33                         }
34                     }
35                 }
36             }
37 
38             List<Score> result = new List<Score>();
39             var q = _Context.Score.Where(p => p.DateExam >= d1 && p.DateExam <= d2);
40             if (q.Count() > 0)
41             {
42                 if (TreeView1.SelectedValue == null || TreeView1.SelectedValue == "")
43                 {
44                     result = q.ToList();
45                 }
46                 else
47                 {
48                     //考试时间与部门的交集
49                     result = list.Intersect(q.ToList()).ToList();
50                 }
51                 for (int i = 0; i < result.Count; i++)
52                 {
53                     string a = result[i].SNum;
54                     //Thread.Sleep(1);
55                     string b = result[i].SName;
56                     //Thread.Sleep(1);
57                     string c = result[i].Scores;
58                     //Thread.Sleep(1);
59                     string d = result[i].DateExam.ToString();
60                     //Thread.Sleep(1);
61                     string e1 = result[i].SCourse;
62                     //Thread.Sleep(1);
63                     table.Rows.Add(a, b, c, d, e1);
64                 }
65                 string filename = "Mark" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls";//准备保存的文件名
66                 ExcelRender.RenderToExcel(table, Context, filename);
67             }
68         }
69     }
导出成绩Excel

附件为demo:http://pan.baidu.com/s/1gdEhWCb

你可能感兴趣的:(Excel)