Excel-数据分类导出至多个Sheet NPOI.dll

来源:互联网 发布:mac无主之地2没有繁体 编辑:程序博客网 时间:2024/05/16 19:47


using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace PCExpExcel
{
public partial class ExpExcel : System.Web.UI.Page
{
public class User
{
public string UserName { get; set; }
public int TypeID { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
gv_list.DataSource = GetUserList();
gv_list.DataBind();
}
}

    private static List<User> GetUserList()    {        List<User> uList = new List<User>();        uList.Add(new User() { TypeID = 2, UserName = "董明珠" });        uList.Add(new User() { TypeID = 2, UserName = "雷军" });        uList.Add(new User() { TypeID = 3, UserName = "马云" });        uList.Add(new User() { TypeID = 3, UserName = "马化腾" });        uList.Add(new User() { TypeID = 2, UserName = "乔布斯" });        uList.Add(new User() { TypeID = 1, UserName = "习近平" });        uList.Add(new User() { TypeID = 1, UserName = "李克强" });        return uList;    }    protected void btnExp_Click(object sender, EventArgs e)    {        List<User> uList = GetUserList();        string filename = "Exp_" + DateTime.Now.ToString("yyyyMMddhhmmss");        //临时存放路径        string filePath = Server.MapPath("~/upload/" + filename);        Workbook hssfworkbook = new HSSFWorkbook();        Sheet sheetNO = hssfworkbook.CreateSheet("未打卡");        Sheet sheetOLD = hssfworkbook.CreateSheet("迟到");        Sheet sheetOK = hssfworkbook.CreateSheet("正常");        int RowNO = 0;        int RowOLD = 0;        int RowOK = 0;        for (int i = 0; i < uList.Count; i++)        {            switch (uList[i].TypeID)            {                case 1:                    RowNO++;                    Row rowNo = sheetNO.CreateRow(RowNO);                    rowNo.CreateCell(0).SetCellValue(uList[i].TypeID);                    rowNo.CreateCell(1).SetCellValue(uList[i].UserName);                    break;                case 2:                    RowOLD++;                    Row rowOLD = sheetOLD.CreateRow(RowOLD);                    rowOLD.CreateCell(0).SetCellValue(uList[i].TypeID);                    rowOLD.CreateCell(1).SetCellValue(uList[i].UserName);                    break;                default:                    RowOK++;                    Row rowOK = sheetOK.CreateRow(RowOK);                    rowOK.CreateCell(0).SetCellValue(uList[i].TypeID);                    rowOK.CreateCell(1).SetCellValue(uList[i].UserName);                    break;            }        }        // 写入到客户端         System.IO.MemoryStream ms = new System.IO.MemoryStream();        hssfworkbook.Write(ms);        Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", filename));        Response.BinaryWrite(ms.ToArray());        hssfworkbook = null;        ms.Close();    }}

}

0 0
原创粉丝点击