NPOI导出为Excel文件

时间:2023-03-09 06:49:03
NPOI导出为Excel文件

1.添加引用

NPOI导出为Excel文件

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

3.写后台代码

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

 /// <summary>
/// 点击导出Excel
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
if (txtStart.Text != "" && TextBox2.Text != "")
{
DataTable table = new DataTable();
table.Columns.Add("工号", typeof(string));
table.Columns.Add("姓名", typeof(string));
table.Columns.Add("分数", typeof(string));
table.Columns.Add("考试时间", typeof(string));
table.Columns.Add("科目", typeof(string)); List<Score> list = new List<Score>();
//按时间导出
DateTime d1 = Convert.ToDateTime(txtStart.Text);
DateTime d2 = Convert.ToDateTime(TextBox2.Text);
//按部门导出
var qStu = _Context.Student.Where(p => p.SBranch.ToString() == TreeView1.SelectedValue);
if (qStu.Count() > )
{
for (int i = ; i < qStu.Count(); i++)
{
var qSc = _Context.Score.Where(p=>p.SNum == qStu.ToList()[i].SNum);
if (qSc.Count() > )
{
foreach (Score sc in qSc)
{
list.Add(sc);
}
}
}
} List<Score> result = new List<Score>();
var q = _Context.Score.Where(p => p.DateExam >= d1 && p.DateExam <= d2);
if (q.Count() > )
{
if (TreeView1.SelectedValue == null || TreeView1.SelectedValue == "")
{
result = q.ToList();
}
else
{
//考试时间与部门的交集
result = list.Intersect(q.ToList()).ToList();
}
for (int i = ; i < result.Count; i++)
{
string a = result[i].SNum;
//Thread.Sleep(1);
string b = result[i].SName;
//Thread.Sleep(1);
string c = result[i].Scores;
//Thread.Sleep(1);
string d = result[i].DateExam.ToString();
//Thread.Sleep(1);
string e1 = result[i].SCourse;
//Thread.Sleep(1);
table.Rows.Add(a, b, c, d, e1);
}
string filename = "Mark" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls";//准备保存的文件名
ExcelRender.RenderToExcel(table, Context, filename);
}
}
}

导出成绩Excel

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