C# Aspose.Cells导出xlsx格式Excel,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”

报错信息:

最近打开下载的 Excel,会报如下错误。(xls 格式不受影响)

解决方案:

下载代码(红色为新添代码)

1public void download() 2{ 3 string fileName = "456.zip";//客户端保存的文件名 4 string filePath = AppDomain.CurrentDomain.BaseDirectory.Replace("\\", "/") + "Excel/123.zip"; 5 6 System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath); 7 8 if (fileInfo.Exists == true) 9 { 10 //每次读取文件,只读取1M,这样可以缓解服务器的压力 11 const long ChunkSize = 1048576; 12 byte[] buffer = new byte[ChunkSize]; 13 14 Response.Clear(); 15 //获取文件 16 System.IO.FileStream iStream = System.IO.File.OpenRead(filePath); 17 //获取下载的文件总大小 18 long dataLengthToRead = iStream.Length; 19 //二进制流数据(如常见的文件下载) 20 Response.ContentType = "application/octet-stream"; 21 //通知浏览器下载文件而不是打开 22 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName)); 23 //加上设置大小下载下来的.xlsx文件打开时才不会报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃” 24 Response.AddHeader("Content-Length", iStream.Length.ToString()); 25 using (iStream)//解决文件占用问题,using 外 iStream.Dispose() 无法释放文件 26 { 27 while (dataLengthToRead > 0 && Response.IsClientConnected) 28 { 29 int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));//读取的大小 30 Response.OutputStream.Write(buffer, 0, lengthRead); 31 Response.Flush(); 32 dataLengthToRead = dataLengthToRead - lengthRead; 33 } 34 iStream.Dispose(); 35 iStream.Close(); 36 } 37 38 Response.Close(); 39 Response.End(); 40 } 41}

给下载加了个长度,解决问题。

Response.AddHeader("Content-Length", iStream.Length.ToString());

原文:asp.net NPOI导出xlsx格式文件,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”

点赞
收藏

评论区

加载中...

相关推荐

python读取excel数据转为json格式

做自动化时需要从excel读取数据;本文实现将excel文件数据读取为json格式,方便自动化调用读取xls文件使用xlrd读取xls文件代码:pythonimportxlrddefreadxls(file):实例化excelbookxlrd.openworkbook(file)下标读取sheetsheetb

vue项目中使用element-ui实现excel表格上传

恰逢项目中要实现excel表格上传,度娘甚久,得此一文,留之。原文:https://blog.csdn.net/qq36718999/article/details/95387542需求vuecli搭建前端项目,并使用elementui实现本地excel表格上传。(1)限制上传文件只能是xls、xlsx格式;(2)限制上传文件大小不能超过2MB

vue+iview中的table表格导出excel表格

一、iveiw框架中table中有exportCsv()方法可以导出.csv后缀文件,类似于excel文件,但是并不是excel文件。二、实现table表格导出excel文件利用Blob.js和Export2Excel.js两个文件实现  1.Blob.js和Export2Excel.js文件    链接:https://pan.baid

python-docx无法处理 “doc格式” 文件,于是我这样做......

问题引入目前的日常工作中,见的最多的还是对Excel文件和Word文件的处理。对于Excel文件,如果出现xls、xlsx、xlsm混合文件应该怎么处理?对于Word文件,出现doc和docx的混合文件,又该怎么处理。你可能会用VBA,但是不得不说,批量操作这些文件,还是要学Python,操作真的很简单。为了增强文章的可读性,我们分2篇文章讲述这些问题

商业数据分析从入门到入职(2)Excel基础

一、Excel介绍1.Excel简介Excel不仅仅只是存放数据的工具,其功能特别强大,甚至可以做出美观的仪表盘,如下:甚至还可以用Excel作画,可点击查看,如下:Excel存在很多版本,如2003、2007、2010、2016、2019等,一般向下兼容,不同系统的兼容性可能存在问题。文件类型主要包括xls、xlsx等。一个Excel表格

ABAP学习(16):ABAP2XLSX,操作excel

ABAP2XLSX   ABAP2XLS是一个操作EXCEL的开源项目,相比较OLE2和DOI方式操作excel更加方便。   ABAP中搜索ZDEMO\_EXCEL\搜索Program可以查看SAP提供的示例程序,实现多种Excel。1.创建excel   Excel类:zcl\_excel类