zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【动态规划】01背包问题
    【Huffman&&贪心】Fence Repair(POJ 3253)
    【STL学习】priority_queue
    【贪心算法】特殊的密码锁(openjudge8469)
    【贪心+二分】疯牛
    用类模板封装链表
    Qt的QString和C++string之间的转换
    Qt模态对话框和非模态对话框
    常见的交换变量的三种方法
    整理的经典面试题及各种库函数的自己实现
  • 原文地址:https://www.cnblogs.com/zsmj001/p/4436096.html
Copyright © 2011-2022 走看看