报错信息:

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

解决方案:

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

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

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

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

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

最新文章

  1. 数据分析(7):pandas介绍和数据导入和导出
  2. ubuntu 16.04 忘记root密码的处理方法
  3. 忙碌的Nova君 (活动安排问题、贪心算法)
  4. pyenv 以及 virtualenv
  5. UML状态图和活动图
  6. Objective-C面向对象(三)
  7. java_线程安全-service
  8. 李洪强iOS开发本人集成环信的经验总结_07_监听好友请求
  9. arc engine - ILayer.
  10. java的Future使用方法
  11. 微信小程序用setData修改数组或对象中的一个属性值
  12. JavaScript Function.call() 函数详解
  13. Python3数据库模块(sqlite3,SQLite3)
  14. Java基本数据类型和长度
  15. Activiti开发案例之activiti-app工作流导出图片
  16. kubectl常用命令
  17. VS基本学习之(变量与常量)
  18. JAVA中异常状况总结
  19. LintCode题解之Search Range in Binary Search Tree
  20. ifstream 和 ofstream 用法。

热门文章

  1. CSS_选择符
  2. commit 冲突
  3. MyBatis架构与源码分析<资料收集>
  4. hive sql 常见异常
  5. shell编程学习笔记(三):Shell中局部变量的使用
  6. angular 2 - 006 change detection 脏治检查 - DC
  7. RGBA alpha 透明度混合算法实现和测试
  8. IDEA使用笔记(十一)——好玩的类图结构
  9. redis应用-sortedset实现排行榜(转载)
  10. Java之JavaWeb项目开发开始准备