打包成zip

protected void btnExportZip_Click(object sender,EventArgs e)

{

string archiveName=String.Format("zip文件名{0}-{1}.zip",CurrentUser.DepartmentName,DateTime.Now.ToString("yyyy-MM-dd");

Resoponse.CotentType="application/zip";

Response.AddHeader("content-disposition","attachment;filename=\""+HttpUtility.UrlEncode(archiveName,Encoding.UTF8)+"\"");

var docHelper=new DocHelper();

var template=Server.MapPath("~/Template/export/template.doc");//模板

var streamList=new List<MemoryStream>();

//数据源赋值

using(var zip=new ZipFile(Encoding.UTF8))

{

foreach(var proposal in proposaList)

{

var newDs=new Dataset();

var dt1=ListExtend.ListToDataTable(new List<Proposal>(){proposal});// T转换为datatable

dt1.TableName="table";

newDs.Tables.add(dt1);

//关联建议人 把建议人数据放入提案数据的尾部

var suggesterList=ProposerService.GetListByProposalId(proposal.Id);

var dtSuggester=ListExtend.ListToDataTable(suggesterList);

dtSuggester.TableName="Proposer";

newDs.Table.Add(dtSuggester);

newDs.Relations.Add("ProposalWithProposer",dt1.Columns["Id"],dtSuggester.Colums["ProposalId"]);

docHelper.DataSetList=new List<DataSet>(){newDs};

var fileName=string.Format("{0}-{1}-政协提案交办全文.doc",proposal.Num,proposal.Title);

var stream=docHelper.ExportStream(template);

stream.Seek(0,SeekOrigin.Begin);

zip.AddEntry(fileName,stream);

streamList.Add(stream);

}

zip.save(Response.OutputStream);

foreach(var memoryStream in streamList)

{

memoryStream.Close();

}

}

}

时间: 2025-01-03 15:12:29

打包成zip的相关文章

Java实现文件自动打包成zip并下载的代码

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class ZipOutputStreamDemo { public static void main(String[] args) throws Exception { by

java批量下载,将多文件打包成zip格式下载

现在的需求的: 根据产品族.产品类型,下载该产品族.产品类型下面的pic包: pic包是zip压缩文件: t_product表: 这些包以blob形式存在另一张表中: t_imagefile表: 现在要做的是:将接入网.OLT下面的两个包downloadPIC:MA5800系列-pic.zip 和 MA5900-pic.rar一起打包成zip压缩文件下载下来: 代码: ProductController.java: /** * 根据产品族.产品类型下载照片包 */ @RequestMapping

十一、springboot 配置log4j2以及打包成zip文件

前言 其实我们前面已经配置了日志,但是最近总感觉日志日志格式看的不舒服,并且每次打包都是一个jar 文件,lib都包含在jar 中,每次做很小的修改都需要重新替换jar文件,jar文件会比较大,传输起来比较慢.所以做一些改进. 配置log4j2 好了,废话不多说了,先来在Springboot中配置log4j2吧. pom.xml springboot 项目默认的是使用logback 的,所以我们想要使用log4j ,需要将原来的logback 框架屏蔽掉,再引入log4j. 首先我们在pom.x

eclipse通过maven建立java se工程配置log4j,打包成zip,将jar包和配置文件分开,并以bat和sh文件启动java程序

一.新建maven的java工程 1.eclipse里file-new-other,选择maven Project 2.选中 Use default Workspace location,然后 next 3.选择maven-archetype-quitstart,然后next 4.填入工程信息,然后finish 6.新建好的工程结构如图 7.将test下和java下自动生成的java类删除,右键build-path选择好jdk版本,整个工程就建好了. 二.配置log4j 1.将工程目录调整成下图

将多级目录打包成zip文件

最近接触PHP,需要用到zip压缩,在网上搜索的一大堆,发现代码都不低于50行.  而且调用还很费事(基础太少看不懂).让我收获的是Php提供有一个ZipArchive类,并有如下方法. bool addEmptyDir( string $dirname ) bool addFile ( string $filename [, string$localname = NULL[, int$start = 0 [, int $length = 0 ]]] ) mixed open( string $

目录下获取指定后缀文件打包成zip文件

file_dir = os.path.abspath('.') + "/MarkCoin" def zip_ya(): L = [] for root, dirs, files in os.walk(file_dir): for file in files: if os.path.splitext(file)[1] == '.png' or os.path.splitext(file)[1] == '.xlsx': L.append(file) z = zipfile.ZipFile(

vue-webpack项目自动打包压缩成zip文件批处理

为什么需要这个? 使用vue框架开发项目,npm run build这个命令会一直用到,如果需要给后端发包,那你还要打包成zip格式的压缩包,特别是项目提测的时候,一天可能要执行重复好几次,所以才有了写这个批处理的冲动. 虽然说以前没写过,但至少用过.找了份批处理命令的文章了解了下,按自己预先想好的思路,百度了关键的执行命令,然后就自己不断的修改调试,最终完成了这个集webpack打包.压缩成zip格式文件.打开当前文件夹这三个功能的批处理. 怎么用? 只需要把这个批处理文件放在项目根目录下,轻

展示触摸屏网页打包成桌面应用(nw.js)

一.编写触摸屏网页注意点 1.控制缩放行为.内容宽度为屏幕宽度,初始缩放比例为1:1,并禁止缩放(如若可放大缩小,影响操作体验) <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 2.<a>标签点击存在暗色透明背景问题,使用css属性 -webkit-tap-highlight-colo

Java—将文件打包为zip压缩文件

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipE