using ICSharpCode.SharpZipLib.Zip;
using System.Collections.Generic;
using System.IO; namespace WLYD.Utility.File
{
/// <summary>
/// 压缩文件
/// </summary>
public static class ZipHelper
{
public static byte[] ZipExcel(List<OrderExport> list)
{
byte[] buffer = null;
MemoryStream ms = new MemoryStream();
using (ZipFile file = ZipFile.Create(ms))
{
file.BeginUpdate(); foreach (var o in list)
{
StreamDataSource ss = new StreamDataSource(o.Ms);
file.Add(ss, o.Filename);
} file.CommitUpdate();
buffer = new byte[ms.Length];
ms.Position = 0;
ms.Read(buffer, 0, buffer.Length); //读取文件内容(1次读ms.Length/1024M)
ms.Flush();
ms.Close();
}
return buffer;
} }
public class StreamDataSource : IStaticDataSource
{
public byte[] bytes { get; set; }
public StreamDataSource(MemoryStream ms)
{
bytes = ms.GetBuffer();
} public Stream GetSource()
{
Stream s = new MemoryStream(bytes);
return s;
}
}
public class OrderExport
{
public string Filename { get; set; }
public MemoryStream Ms { get; set; }
}
}

  

ZipHelper的更多相关文章

  1. 【C#公共帮助类】ZipHelper 压缩和解压帮助类,经过实战总结出来的代码

    关于本文档的说明 本文档基于ICSharpCode.SharpZipLib.dll的封装,常用的解压和压缩方法都已经涵盖在内,都是经过项目实战积累下来的 欢迎传播分享,必须保持原作者的信息,但禁止将该 ...

  2. C# ZipHelper C#公共类 压缩和解压

    关于本文档的说明 本文档基于ICSharpCode.SharpZipLib.dll的封装,常用的解压和压缩方法都已经涵盖在内,都是经过项目实战积累下来的 1.基本介绍 由于项目中需要用到各种压缩将文件 ...

  3. ZipHelper 压缩和解压帮助类

    ZipHelper 压缩和解压帮助类 关于本文档的说明 本文档基于ICSharpCode.SharpZipLib.dll的封装,常用的解压和压缩方法都已经涵盖在内,都是经过项目实战积累下来的 欢迎传播 ...

  4. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2 新增解压缩工具类ZipHelper

    在项目对文件进行解压缩是非常常用的功能,对文件进行压缩存储或传输可以节省流量与空间.压缩文件的格式与方法都比较多,比较常用的国际标准是zip格式.压缩与解压缩的方法也很多,在.NET 2.0开始,在S ...

  5. C# ZipHelper C#公共类 -- ICSharpCode.SharpZipLib.dll实现压缩和解压

    关于本文档的说明 本文档基于ICSharpCode.SharpZipLib.dll的封装,常用的解压和压缩方法都已经涵盖在内,都是经过项目实战积累下来的 1.基本介绍 由于项目中需要用到各种压缩将文件 ...

  6. zip格式压缩文件辅助类(ZipHelper)

    /// <summary> /// 压缩解压文件 /// </summary> public class ZipHelper { /// <summary> /// ...

  7. C# ZipHelper C#公共类 -- ZipArchive实现压缩和解压

    从网上找来个ZipArchive来压缩和解压缩的类,供参考吧 /******************************************************************** ...

  8. ICSharpCode.SharpZipLib 压缩、解压文件 附源码

    http://www.icsharpcode.net/opensource/sharpziplib/ 有SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, GZip, ...

  9. 使用SharpZipLib实现文件压缩、解压

    接口 public interface IUnZip { /// <summary> /// 功能:解压zip格式的文件. /// </summary> /// <par ...

随机推荐

  1. AMD单双桥时序简叙

    芯片组(双桥)时序 VBAT :RTC电路的供电3V(RTC电路有问题会导致没复位或不跑码等故障) RTCCLK :晶振起振给南桥提供32.768KHz频率(RTC电路有问题会导致没复位或不跑码等故障 ...

  2. UVA 1541 - To Bet or Not To Bet(概率递推)

    UVA 1541 - To Bet or Not To Bet 题目链接 题意:这题题意真是神了- -.看半天,大概是玩一个游戏,開始在位置0.终点在位置m + 1,每次扔一个硬币,正面走一步,反面走 ...

  3. stringByAppendingPathComponent和stringByAppendingString 的区别

    stringByAppendingPathComponent和stringByAppendingString 的区别   stringByAppendingPathComponent NSString ...

  4. java 对账关键点

    原理:双方交易信息对比是否平账 注意:对账bean必须重写 equals 方法 如图: //对账方法

  5. 手机pc显示不同的内容

    <script type="text/javascript"> // var txt = $('#sjyincang').html(); // alert(txt); ...

  6. Linux快捷键和vim快捷键

    系统下常用快捷键   ctrl+左右键      在单词之间跳转 Ctrl + a            光标移动到行首(ahead of line),相当于通常的Home键 Ctrl + e     ...

  7. 基于LRU Cache的简单缓存

    package com.test.testCache; import java.util.Map; import org.json.JSONArray; import org.json.JSONExc ...

  8. UML类图组成

    本文转载至 http://blog.csdn.net/fengsh998/article/details/8105666     UML类图的相关知识,UML类图(Classdiagram)是最常用的 ...

  9. UML类图关系表示方法

    本文转载: http://blog.csdn.net/fengsh998/article/details/8105631 分类: UML2012-10-24 10:18 1175人阅读 评论(0) 收 ...

  10. WEBRTC开发入门

    WEBRTC "WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6 ...