ZipOutputStream 用法 小计
ZipOutputStream s = new ZipOutputStream(File.Create(ZipedFile));
构造函数之后
文件就已经创建出来了 只是 0kb
s.Write(buffer, 0, buffer.Length); 内容写进去了 写到服务器里面了 还设置了密码
最后 return 出来
服务器上还是有
public FileResult ExcelPrint(string bgrq, string endrq, string jijubianhao, string customerName, string status, string numMin, string numMax) { var user = _isysUserService.GetById(_userInfo.UserId); int? _numMin = string.IsNullOrEmpty(numMin) ? null : (int?)int.Parse(numMin); int? _numMax = string.IsNullOrEmpty(numMax) ? null : (int?)int.Parse(numMax); DateTime? _BgRq = string.IsNullOrEmpty(bgrq) ? null : (DateTime?)Convert.ToDateTime(bgrq); DateTime? _EndRq = string.IsNullOrEmpty(endrq) ? null : (DateTime?)Convert.ToDateTime(endrq); int pagecnt, thresholdCount; List<VMSelectItem> list = _IAtmAtmService.GetDataList(_BgRq, _EndRq, jijubianhao, customerName, status, , , out pagecnt, "", "", out thresholdCount, _numMin, _numMax, "export"); string[] titles = { "Atm ID", "Location Name", "Customer", "Old Password", "Current Password", "Change By", "Change Time" }; string[] props = { "One", "BeiZhu", "Remark", "Three", "Two", "UserName", "banci" }; List<PorpTitle> ptlist = new List<PorpTitle>(); string _BranchCode = _ISysProjectService.GetProjectNameById(_userInfo.ProjectId); string title = "ATM Combination Code-" + _BranchCode + " Export by: " + user.UserName; DateTime dt = DateTime.Now; string dateTime = dt.ToString("yyMMdd");//yyMMddHHmmssfff string dateTimess = dt.ToString("yyMMddHHmmssfff");//yyMMddHHmmssfff //MemoryStream ms = NpoiToExcel.ListToExcel(list, title, titles, props, ptlist); //ms.Seek(0, SeekOrigin.Begin); //string fileName = "ATM Combination Code_" + _BranchCode + dateTime + ".xls"; //return File(ms, "application/vnd.ms-excel", fileName); string pass = "COMBI00"; var syspro = _ISysProjectService.GetById(_userInfo.ProjectId); pass = syspro == null ? pass : "COMBI" + syspro.Code; string outfileName = "ATM Combination Code_" + _BranchCode + dateTime + ".xls"; string fileName = "ATM Combination Code_" + _BranchCode + dateTimess + ".zip"; string fileNameout = "ATM Combination Code_" + _BranchCode + dateTime + ".zip"; MemoryStream ms = this.ListToExcel2("CC.xls", list, title, titles, props, ptlist); // ms 是流内容 内存的流 已写入过内容 string strpath = Server.MapPath("/Upload/Combination/" + fileName); // 保存路径 Common.ZipUtil.ZipFileMain(ms.ToArray(), strpath, pass, outfileName); // 保存位置名字(zip) 密码 zip中内容文件名称 return File(strpath, "application/octet-stream", fileNameout); // 返回 }
public static void ZipFileMain(byte[] buffer, string ZipedFile, string password,string outname) { ZipOutputStream s = new ZipOutputStream(File.Create(ZipedFile)); // 构造出来 zip就创建好了 0kb s.SetLevel(); // 0 - store only to 9 - means best compression s.Password = password; // 密码 //打开压缩文件 //FileStream fs = File.OpenRead(FileToZip); //byte[] buffer = new byte[fs.Length]; //fs.Read(buffer, 0, buffer.Length); //Array arr = FileToZip.Split('\\'); //string le = arr.GetValue(arr.Length - 1).ToString(); ZipEntry entry = new ZipEntry(outname); // outname 内容名称 entry.DateTime = DateTime.Now; entry.Size = buffer.Length; // 内容大小 s.PutNextEntry(entry);//编写新的ZIP文件条目 s.Write(buffer, , buffer.Length); //写出 这句就写出来了 s.Finish(); s.Close(); //Stream output = (Stream)s; //return output; }
public MemoryStream ListToExcel2<T>(string tmpnm, List<T> data, string strHeaderText, string[] titles, string[] props = null, List<PorpTitle> ptlist = null) { //// string configurl = System.Configuration.ConfigurationSettings.AppSettings["TempletsPath"].ToString(); string FileFullPath = Server.MapPath(configurl) + tmpnm; if (!System.IO.File.Exists(FileFullPath)) { return null; } HSSFWorkbook workbook = new HSSFWorkbook(); string pass = "COMBI00"; var syspro = _ISysProjectService.GetById(_userInfo.ProjectId); pass = syspro == null ? pass : "COMBI" + syspro.Code; using (FileStream file = new FileStream(FileFullPath, FileMode.Open, FileAccess.Read)) { //NPOIHelper.ExcelPasswork(workbook, _ISysProjectService.GetProjectNameById(_userInfo.ProjectId)); NPOI.HSSF.Record.Crypto.Biff8EncryptionKey.CurrentUserPassword = "; workbook = (HSSFWorkbook)WorkbookFactory.Create(file); //workbook.WriteProtectWorkbook("123456", "");//设置新密码 //NPOIHelper.ExcelPasswork(workbook, _ISysProjectService.GetProjectNameById(_userInfo.ProjectId)); workbook.WriteProtectWorkbook("", "");//设置密码 } HSSFSheet sheet = (HSSFSheet)workbook.GetSheetAt(); PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T)); ; * ; #region 基础数据定义 HSSFCellStyle cellstyle = (HSSFCellStyle)workbook.CreateCellStyle(); cellstyle.BorderBottom = (BorderStyle)CellBorderType.THIN; cellstyle.BorderLeft = (BorderStyle)CellBorderType.THIN; cellstyle.BorderRight = (BorderStyle)CellBorderType.THIN; cellstyle.BorderTop = (BorderStyle)CellBorderType.THIN; cellstyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER; // 居中 cellstyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER; #endregion #region 首行首列定义 HSSFRow headerRow = (HSSFRow)sheet.CreateRow(); //HSSFRow headerRow = (HSSFRow)workbook.GetSheetAt(0); headerRow.HeightInPoints = rowheight;//行高 if (strHeaderText.Contains("ATM Combination Code")) { headerRow.CreateCell().SetCellValue("Export Date:" + DateTime.Today.Date.ToString("MM/dd/yyyy") + " " + strHeaderText); } else { headerRow.CreateCell().SetCellValue(strHeaderText); } HSSFCellStyle hvstyleh = (HSSFCellStyle)workbook.CreateCellStyle(); hvstyleh.BorderBottom = (BorderStyle)CellBorderType.THIN; hvstyleh.BorderLeft = (BorderStyle)CellBorderType.THIN; hvstyleh.BorderRight = (BorderStyle)CellBorderType.THIN; hvstyleh.BorderTop = (BorderStyle)CellBorderType.THIN; hvstyleh.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER; // 居中 hvstyleh.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER; // 居中 hvstyleh.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.CENTER; HSSFFont fonth = (HSSFFont)workbook.CreateFont(); fonth.FontHeightInPoints = ; fonth.Boldweight = ; hvstyleh.SetFont(fonth); CellRangeAddress m_region = , , , titles.Count() - ); //合并0列的n--n+2行 sheet.AddMergedRegion(m_region); setcelltag(m_region, hvstyleh, sheet); headerRow.GetCell().CellStyle = hvstyleh; var day = DateTime.Now; ; #endregion #region sheet页的表头定义 if (ptlist != null) { ) { rowIndex = ; HSSFRow ttdataRow = (HSSFRow)sheet.CreateRow(rowIndex - ); ttdataRow.HeightInPoints = rowheight;//行高 foreach (PorpTitle title in ptlist) { HSSFCell ttCell = (HSSFCell)ttdataRow.CreateCell(title.Poss); ttCell.SetCellValue(title.TitleNM); if (title.Poss != title.Pose) { CellRangeAddress m_region1 = , , title.Poss, title.Pose); //合并0列的n--n+2行 sheet.AddMergedRegion(m_region1); setcelltag(m_region1, cellstyle, sheet); ttCell.CellStyle = cellstyle; } else { ttCell.CellStyle = cellstyle; } } } } #endregion #region 表记录记录 var jyzindex = rowIndex; #region 定义表头 ; HSSFRow dataRow = (HSSFRow)sheet.CreateRow(jyzindex); dataRow.HeightInPoints = rowheight;//行高 HSSFCell newCell; foreach (string prop in titles) { newCell = (HSSFCell)dataRow.CreateCell(cellcnt); newCell.SetCellValue(prop); newCell.CellStyle = cellstyle; sheet.SetColumnWidth(cellcnt, colheight); cellcnt++; } #endregion #region 定义表内容 jyzindex++; foreach (T item in data) { dataRow = (HSSFRow)sheet.CreateRow(jyzindex); dataRow.HeightInPoints = rowheight;//行高 cellcnt = ; if (props != null) { foreach (string prop in props) { PropertyDescriptor prop1 = properties[prop]; var val = ""; try { val = ConvertHelper.ToStr(prop1.GetValue(item) ?? DBNull.Value); } catch { } newCell = (HSSFCell)dataRow.CreateCell(cellcnt); newCell.SetCellValue(val); newCell.CellStyle = cellstyle; sheet.SetColumnWidth(cellcnt, colheight); cellcnt++; } } else { foreach (PropertyDescriptor prop in properties) { var val = ""; try { val = ConvertHelper.ToStr(prop.GetValue(item) ?? DBNull.Value); } catch { } newCell = (HSSFCell)dataRow.CreateCell(cellcnt); newCell.SetCellValue(val); newCell.CellStyle = cellstyle; sheet.SetColumnWidth(cellcnt, colheight); cellcnt++; } } jyzindex++; } //sheet.ProtectSheet("password"); #endregion #endregion System.IO.MemoryStream ms = new System.IO.MemoryStream(); workbook.Write(ms); return ms; }
ZipOutputStream 用法 小计的更多相关文章
- git常用命令及用法小计
git init 初始化一个本地git仓库repository git status 查看状态 git add <file> 将工作区修改加到暂存区(stage) git commit - ...
- pmap用法小计
By francis_hao Aug 4,2017 pmap-报告进程的内存映射. 概要 pmap [options] pid [...] 描述 pmap命令用来报告一个或多个进程的 ...
- sql小计汇总 rollup用法实例分析
这里介绍sql server2005里面的一个使用实例: ),city ),score int) GO 1. 只有一个汇总 select province as 省,sum(score) as 分数 ...
- SQLSERVER 使用 ROLLUP 汇总数据,实现分组统计,合计,小计
表结构: CREATE TABLE [dbo].[Students]( ,) NOT NULL, ) NULL, [Sex] [int] NOT NULL, ) NULL, ) NULL, , ) N ...
- PB gird类型数据窗口 设置分组、分组小计、合计
今天遇到一个需求,gird表格数据如下: 部门 类型 数据 A 类型1 1 A 类型2 2 B 类型1 3 B 类型2 4 合计 10 实际需要显示的结果为: 部门 ...
- 简单的angular购物车商品小计
<!DOCTYPE html> <html lang="en" ng-app="shopApp"> <head> <m ...
- C#给DataTable添加序号、C#给DataTable添加合计、小计
/// <summary> /// 给DataTable添加序号 /// </summary> /// <param name= ...
- SAP ALV中同一列的不同行显示不同的小数位,并能够总计,小计
物料数量字段,根据物料类型的不同,来显示不同的小数位:要求有点苛刻: 首先,要能够总计和小计的话,这一列的字段类型必须是数值类型. 这样的话,就不能通过截取的方式改变不同行的小数位. 以下是两种思路: ...
- 每日学习心得:SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)
2013-8-20 1. SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析) 在实际的项目开发中有很多项目都会有报表模块,今天就通过一个小的SQL ...
随机推荐
- ICPC南京补题
由于缺的题目比较多,竟然高达3题,所以再写一篇补题的博客 Lpl and Energy-saving Lamps During tea-drinking, princess, amongst othe ...
- 利用Python访问Mysql数据库
首先要明确一点,我们在Python中需要通过第三方库才能访问Mysql. 有这样几种方式:Mysql-python(即MySQLdb).pymysql.mysql-connector.Mysql-py ...
- POJ3071 Football 【概率dp】
题目 Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, -, 2n. In eac ...
- formData使用总结
1.formData基本使用 //可以从form元素初始化一个FormData对象,或者new一个空对象 var formData = new FormData([fromElement]); //可 ...
- 【库存】NOI笔试习题集
https://wenku.baidu.com/view/2dc9d10854270722192e453610661ed9ad5155ba.html
- spring boot-html和templates
静态页面 spring boot项目只有src目录,没有webapp目录,会将静态访问(html/图片等)映射到其自动配置的静态目录,如下 /static /public /resources / ...
- Foj 2148 二维几何(点是否在三角形内)
题目大意:给n个坐标(不存在三点共线的点),求能够组成多少个凸四边形. #include<iostream> #include<cstdio> #include<cmat ...
- 【BZOJ4555】【TJOI2016】【HEOI2016】求和 (第二类斯特林数+NTT卷积)
Description 在2016年,佳媛姐姐刚刚学习了第二类斯特林数,非常开心. 现在他想计算这样一个函数的值: $$f(n)=\sum_{i=0}^n\sum_{j=0}^i S(i,j)\tim ...
- 一次向linux开源社区提交补丁的经历
背景 在开发过程中,偶然发现了spinand驱动的一个bug,满怀欣喜地往社区提补丁.这是怎么样的一个bug呢? static int spinand_mtd_read(struct mtd_info ...
- sublime flatLand 主题
今天试了下感觉主题不错 记下来备忘. 1.sublime3 package control install 搜索 flatLand 2 安装完成后. 修改 Preferences 文件,通过 Sub ...