使用内存流导出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());
使用内存流导出Excel的更多相关文章
- asp.net以流导出Excel
废话不多说,直接上代码 这是点击导出的事件函数,因为我是从前端获取的Table的json数据,所以需要转换一下,大家直接用查询出来的DataTable即可 protected void bt_expo ...
- asp.net MVC 文件流导出Excel
<form id="FormEsExcel" action="/**/ExportEsExcelData" method="post" ...
- 前端接收后端文件流导出excel文档遇到的问题
先上代码: Vue.prototype.download = function(oUrl, filename) { this.axios .get(oUrl, { responseType: 'arr ...
- vue 后台获取文件流导出excel文件
let params = { compStartTm: Date.parse(this.searchForm.compStartTm) / 1000, compEndTm: Date.parse(th ...
- 导出EXCEL(转转)
)) content.AppendFormat("<td style='vnd.ms-excel.numberformat:#, ...
- C#导出EXCEL(DataTable导出EXCEL)
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.I ...
- 使用Magicodes.IE快速导出Excel
前言 总是有很多朋友咨询Magicodes.IE如何基于ASP.NET Core导出Excel,出于从框架的体验和易用性的角度,决定对Excel的导出进行独立封装,以便于大家更易于使用,开箱即用. 注 ...
- fputcsv 导出excel,解决内存、性能、乱码、科学计数法问题
在PHP的日常开发中,时常会需要导出 excel ,一般我们会使用 PHPExcel ,性能强大,但是在数据量大的时候,phpexcel 性能差.内存溢出等各种不可控问题就会出现.因此,如果对导出样式 ...
- 用NOPI将图片二进制流导出到Excel
这儿采取的是将图片的二进制流导出到Excel,直接上代码: /// <summary> /// DataTable导出到Excel的MemoryStream /// </summar ...
随机推荐
- ubuntu解压zip文件出现乱码情况解决方法
使用 unzip datastructure.zip 出现下面的情况: extracting: └╧╗╞/╗·╞ў╤з╧░╝п╜ї/╩¤╛▌╜с╣╣╙ы╦у╖и/╩¤╛▌╜с╣╣╙ы╦у╖иги2гй ...
- js之DOM直接操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- kvm virsh命令详解
[root@ok home]# virsh list Id Name State ---------------------------------------------------- 1 13sv ...
- 添物零基础到大型全栈架构师 Java实战及解析(实战篇)- 概述
实战篇是在基础之上,进一步提升的内容.通过实战篇可以深入理解Java相关框架和库的使用,能够独立开发小模块,或者按照架构师的指导进行代码编写和完善. 主要讲解核心框架和库的使用和使用场景介绍.通过 ...
- MaxScale初探
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mrcto.blog.51cto.com/1923168/1437287 内容预览 ...
- ZOJ 1516 Uncle Tom's Inherited Land
题目大意: 除去那些作为荷塘的土地块,将剩余的土地希望每次将两块相邻的地一起卖出,最多能卖出多少种这样的由相邻土地 合成的长方形土地块 很明显的二分图问题,但是要考虑如何建模 一个长方形土地总是由相邻 ...
- VNC Viewer 设置屏幕分辨率-解决屏幕分辨率问题
https://blog.csdn.net/runningtortoises/article/details/51425332
- 小米2S 小米手机如何手动升级到开发版
1 从官网下载系统的更新包,比如对于小米2S,从下面的网址下载. http://www.miui.com/download-2.html 2 下载完成之后,放到手机的任意文件夹下,比如下面的S ...
- FloatingActionMenu 向上弹出菜单
本人在github上找到了一个FloatingActionsMenu,精简了其效果(原效果有上下左右四个方向)仅仅保留向上的效果,并做了一定的优化. github上的源代码:地址 ,精简后的源代码地址 ...
- 怎样用EA设计ER图
我们开发系统从文档開始,而EA就是替我们开发文档的好工具.结束了我们从概念设计到逻辑设计中的非常多问题.完好我们的文档. 如今就给大家说说如何在EA中设计概念模型ER图: 首先打开EA-"新 ...