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());

使用内存流导出Excel的更多相关文章

  1. asp.net以流导出Excel

    废话不多说,直接上代码 这是点击导出的事件函数,因为我是从前端获取的Table的json数据,所以需要转换一下,大家直接用查询出来的DataTable即可 protected void bt_expo ...

  2. asp.net MVC 文件流导出Excel

    <form id="FormEsExcel" action="/**/ExportEsExcelData" method="post" ...

  3. 前端接收后端文件流导出excel文档遇到的问题

    先上代码: Vue.prototype.download = function(oUrl, filename) { this.axios .get(oUrl, { responseType: 'arr ...

  4. vue 后台获取文件流导出excel文件

    let params = { compStartTm: Date.parse(this.searchForm.compStartTm) / 1000, compEndTm: Date.parse(th ...

  5. 导出EXCEL(转转)

    ))                             content.AppendFormat("<td style='vnd.ms-excel.numberformat:#, ...

  6. C#导出EXCEL(DataTable导出EXCEL)

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.I ...

  7. 使用Magicodes.IE快速导出Excel

    前言 总是有很多朋友咨询Magicodes.IE如何基于ASP.NET Core导出Excel,出于从框架的体验和易用性的角度,决定对Excel的导出进行独立封装,以便于大家更易于使用,开箱即用. 注 ...

  8. fputcsv 导出excel,解决内存、性能、乱码、科学计数法问题

    在PHP的日常开发中,时常会需要导出 excel ,一般我们会使用 PHPExcel ,性能强大,但是在数据量大的时候,phpexcel 性能差.内存溢出等各种不可控问题就会出现.因此,如果对导出样式 ...

  9. 用NOPI将图片二进制流导出到Excel

    这儿采取的是将图片的二进制流导出到Excel,直接上代码: /// <summary> /// DataTable导出到Excel的MemoryStream /// </summar ...

随机推荐

  1. 让元素div消失在视野中

    让元素div消失在视野中1.position:absolute/relative/fixed + 方位 top/bottom/left/right: -9999px2.display:none3.vi ...

  2. Storm 开箱笔记

    目录 Storm 开箱 1. 什么是 Storm 2. Hello World(WordCountTopology) 3. 常用API 4. 基本概念 5. 流分组策略 6. 并行度 7. Acker ...

  3. eclipse 中为 java 项目生成 API 文档、JavaDoc

    当我们的项目很大,编写了很多代码的时候,就需要生成一个标准的 API 文档,让后续的开发人员,或者合作者可以清晰的了解您方法的使用. 1.点击 eclipse 的 Project 菜单,选择 Gene ...

  4. MySql报Packet for query is too large错误

    mysql中执行sql的时候报以下错误:Packet for query is too large (1354 > 1024) 原因是mysql一次接收的报文太长,需要调整服务器参数max_al ...

  5. Oracle 回滚(ROLLBACK)和撤销(UNDO)

    一.回滚(ROLLBACK)和撤销(UNDO) 回滚和前滚是保证Oracle数据库中的数据处于一致性状态的重要手段. 在9i版本以前 Oracle使用数据库中的回滚段来实现未提交数据或因系统故障导致实 ...

  6. DemoKit编译过程

    E:\Project_code\EAE\src_rev_24139_A95LYD\Project\DemoKit>make release Checking uITRON - DemoKit r ...

  7. 史上超全面的Neo4j使用指南

    Create by yster@foxmail.com 2018-7-10 我的博客:https://blog.csdn.net/yueshutong123 W3Cschool文档:https://w ...

  8. jquery ajax获取json并解析,获取的json是object对象格式

    首先我们使用的是ajax方式,推荐一个学习网址: http://blog.csdn.net/shiyaru1314/article/details/51065410 这个博主写的特别好.现在来看我们的 ...

  9. 【ZJOI2017 Round2练习&BZOJ4827】D1T3 gift(FFT)

    题意: 思路:可以看出题目所要最小化的是这样一个形式: 拆出每一项之后发现会变化的项只有sigma a[i]*b[i+t]与c^2,c*(a[i]-b[i]) c可以在外层枚举,剩下的只有sigma ...

  10. 遇到很多次,要注意区分service调用,本地用户调用这些区别

    WTSQueryUserToken返回1314   The WTSQueryUserToken function obtains the primary access token of the log ...