自定义导出Excel多个sheet,sheet的数据为查出的list

导出的list要分类型放在不同的sheet里,那么我们就要创建不同的sheet,把list中的数据根据类型放在不同的sheet里
接下来,附上代码

public string Export()
{
    XSSFWorkbook workbook = null;
    NPOI.SS.UserModel.ISheet sheet1 = null;
    NPOI.SS.UserModel.ISheet sheet2 = null;
    NPOI.SS.UserModel.ISheet sheet3 = null;
    NPOI.SS.UserModel.ISheet sheet4 = null;
    String ExportFilePath = PMTConstant.TEMPFOLDER + "/" + DateTime.Now.ToFileTime().ToString() + ".xlsx";
    String FilePath = SysConfig.GetFileServerUpload(ExportFilePath);
    try
    {
        workbook = new XSSFWorkbook();
        sheet1 = workbook.CreateSheet("Type1");
        sheet2 = workbook.CreateSheet("Type2");
        sheet3 = workbook.CreateSheet("Type3");
        sheet4 = workbook.CreateSheet("Type4");
        DataSet ds1 = ExportByType(1);
        DataSet ds2 = ExportByType(2);
        DataSet ds3 = ExportByType(3);
        DataSet ds4 = ExportByType(4);
        SetSheetValue(workbook, sheet1, ds1);
        SetSheetValue(workbook, sheet2, ds2);
        SetSheetValue(workbook, sheet3, ds3);
        SetSheetValue(workbook, sheet4, ds4);
        MemoryStream stream = new MemoryStream();
        workbook.Write(stream);
        byte[] buffer = stream.ToArray();
        using (FileStream fs = new FileStream(FilePath, FileMode.Create, FileAccess.Write))
        {
            fs.Write(buffer, 0, buffer.Length);
            fs.Flush();
        }
    }
    catch (PmtException pe) { throw pe; }
    catch (Exception e) { throw new PmtException("", "导出数据失败:" + e.Message); }
    finally
    {

    }
    return ExportFilePath;
}

根据类型导出对应的数据

public DataSet ExportByType(int Type)
{
    DataSet ds = null;
	string SQL = string.Empty;
	if(Type == 1){
		SQL = string.Format(@"select '张三' as 'Name','18' as 'Age';");
	}
    else if(Type == 2){
		SQL = string.Format(@"select '李四' as 'Name','19' as 'Age';");
	}
	else if(Type == 3){
		SQL = string.Format(@"select '王二' as 'Name','20' as 'Age';");
	}
	else if(Type == 4){
		SQL = string.Format(@"select '麻子' as 'Name','21' as 'Age';");
	}
    SqlConnection conn = null;
    try
    {
        conn = DBHelper.createCon();
        ds = DBHelper.executeDataAdapter(conn, SQL, CommandType.Text, null);
    }
    catch (Exception e) { }
    finally
    {
        try
        {
            conn.Close();
        }
        catch (Exception e) { }
    }
    return ds;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值