zoukankan      html  css  js  c++  java
  • 使用内存流导出Excel

    public MemoryStream MemoryStreamDeiveFlowInfoaging(DataTable Table)
    {
    Dictionary<int , string> KeyValue = new Dictionary<int,string>();
    for (int i = 0; i < Table.Columns.Count; i++)
    {
    KeyValue.Add(i,Table.Columns[i].ColumnName);
    }
    NPOI.HSSF.UserModel.HSSFWorkbook workbook = new NPOI.HSSF.UserModel.HSSFWorkbook();//创建一个工作簿
    NPOI.SS.UserModel.ISheet isheet = workbook.CreateSheet(DateTime.Now.ToString("yyyyMMddHHmmss"));//在工作簿创建一个选项卡
    NPOI.SS.UserModel.IRow irow = isheet.CreateRow(0);//在第0行开始写入键值
    for (int i = 0; i < KeyValue.Keys.Count; i++)
    {
    irow.CreateCell(i).SetCellValue(KeyValue.Values.ToArray()[i]);
    }
    //现在开始将DataTable数据写入
    for (int ii = 0; ii < Table.Rows.Count; ii++)
    {
    NPOI.SS.UserModel.IRow irow2 = isheet.CreateRow(ii + 1);//第0行已经有数据所以加1
    for (int iii = 0; iii < Table.Columns.Count; iii++)
    {
    irow2.CreateCell(iii).SetCellValue(Convert.ToString(Table.Rows[ii][iii]));
    }
    }
    //写入内存
    System.IO.MemoryStream io = new MemoryStream();
    //释放
    using (io = new MemoryStream())
    {
    workbook.Write(io);//在工作簿输出流
    byte[] arratByte = io.ToArray();
    io.Write(arratByte, 0, arratByte.Length); ;//在工作簿写入流
    io.Flush();
    }
    return io;
    }

    2017年3月16日记录

    /// 设置内存流响应格式编码
    Response.Charset = "UTF-8";
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
    Response.ContentType = "application / vnd.openxmlformats - officedocument.spreadsheetml.sheet";// "application/ms-excel/msword";
    Response.AddHeader("Content-Disposition", "attachment;fileName=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
    Response.BinaryWrite(MemoryStreamDeiveFlowInfoaging(Table).ToArray());
    Response.Write(new EmptyResult());

  • 相关阅读:
    用Fusion Log诊断同一版本冲突问题解决
    SQLSERVER 切换数据库为单用户和多用户模式
    redis常用命令
    linq函数All,Any,Aggregate说明
    rabbitmq部署安装
    Centos7防火墙常用命令
    SQL SERVER添加表注释、字段注释
    Windows定时任务管理以及服务管理
    SQLServer 2008数据库查看死锁、堵塞的SQL语句
    SQLServer查询死锁
  • 原文地址:https://www.cnblogs.com/rancrazy/p/6561046.html
Copyright © 2011-2022 走看看