1.添加引用

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

NPOI导出为Excel文件的更多相关文章

  1. 一个NPOI导出到excel文件的范例记录

    '使用NPOI写入新创建的excel文件,导出文件: Private Sub Sub_WriteXls() Dim XlsBook As XSSFWorkbook Dim XlsSheet As XS ...

  2. 关于 NPOI 导出的 Excel 出现“部分内容有问题” 的解决方法

    近期发现使用 NPOI 导出的 Excel 文件,有部分用户反映在打开时报错,测试了一下,发现在低版本的 Office 中(2003版,配合2007格式兼容包)打开正常,但在高版本 Office 中, ...

  3. asp.net NPOI导出xlsx格式文件,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”

    NPOI导出xlsx格式文件,会出现如下情况: 点击“是”: 导出代码如下: /// <summary> /// 将datatable数据写入excel并下载 /// </summa ...

  4. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据

    ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案   ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...

  5. .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)

    .Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构)   public cl ...

  6. NPOI库读写Excel文件

    //首先Nuget安装NPOI库using System; using System.Data; using System.IO; using NPOI.HSSF.UserModel; using N ...

  7. C# 使用 NPOI 库读写 Excel 文件

    NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件.在处理Excel文件上,NPOI 可以同时兼容 xls 和 xlsx.官网提供了一份 Examples,给出 ...

  8. C#中dategridview数据导出为excel文件

    先从数据库中获取数据,绑定在datagridview中,再从dategridview中导出为excel文件 1.新建窗体,把控件datagridview和按钮设置好,如图

  9. Reporting services导出的Excel文件避免出现隐藏行列的布局

    开发Reporting services时,为了避免在导出的Excel文件中出现隐藏的行和列,必须遵循以下规则: 1.Page header中的Textbox直接必须紧密贴合在一起 2.Page he ...

随机推荐

  1. MFC学习之程序执行过程梳理

    *首先利用全局变量对象theApp启动应用程序.这是由于这个全局对象,基类CWinApp中this的指针才干指向这个对象.假设没有这个全局对象,程序在编译时不会出错,但在执行时就会出错. *调用全局应 ...

  2. Android应用程序请求SurfaceFlinger服务创建Surface的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7884628 前面我们已经学习过Android应 ...

  3. Kali下使用libheap

    Kali下使用libheap 在github上,可以libheap用来帮助调试堆溢出.链接见:https://github.com/cloudburst/libheap 但是最后一次更新在一年前了,我 ...

  4. 【输入输出挂】【Uva11462】Age Sort

    例题17  年龄排序(Age Sort, UVa 11462)照从小到大的顺序输出. [输入格式] 输入包含多组测试数据.每组数据的第一行为整数n(0<n≤2 000 000),即居民总数:下一 ...

  5. 影响布局的inline-block的空白符的问题

    昨天切页面时,进行布局时,想改变以下方法换换口味,所以就抛弃了float方法,采用了display:inline-block方法,没想到却随之而来的带来了一个想不通的问题,那就是空白.废话不多说,上代 ...

  6. 【转】通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法

    错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用 ...

  7. frame和iframe

    1.frame不能脱离frameSet单独使用,iframe可以: 2.frame不能放在body中:如下可以正常显示: <!--<body>--> <frameset ...

  8. E - Number Sequence(第二季水)

    Description A single positive integer i is given. Write a program to find the digit located in the p ...

  9. Spring MVC一个方法适用多种调用方式

    web.xml spring-mvc.xml <mvc:annotation-driven /> <context:component-scan base-package=" ...

  10. MongoDB的save 和insert函数的区别

    mongodb的save和insert函数都可以向collection里插入数据,但两者是有两个区别: 一.使用save函数里,如果原来的对象不存在,那他们都可以向collection里插入数据,如果 ...