读取时可以自动判断Excel版本

 IWorkbook workbook = NPOI.SS.UserModel.WorkbookFactory.Create(fs); 

调用这个方法,内部自动判断Excel的版本

导出时:

2003之前的版本是

 IWorkbook workbook = new HSSFWorkbook(); 2003版本

ContentType是application/vnd.ms-excel

2003之后的版本是

Workbook workbook = new XSSFWorkbook();//2007版本

ContentType是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

如果写错了,使用office打开会提示,文件扩展名和文件的格式不匹配,但使用WPS打开不会提示。

发现“中转费2018-10-14--20181016140243.xlsx”中的部分内容有问题。是否让我们尽量尝试恢复? 如果您信任此工作簿的源,请单击“是”。解决方法参考

核心是

 MemoryStream ms = new MemoryStream();
workbook.Write(ms);ms.Close();
ms.Dispose();
System.Web.HttpContext.Current.Response.End();
 public static void ExportByWeb(List<TModel> list, string strHeaderText, string strFileName, Dictionary<string, string> FieldNames){     ExportToFile<TModel> temp = new ExportToFile<TModel>();HttpContext curContext = HttpContext.Current;      curContext.Response.AddHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(strHeaderText + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx", Encoding.UTF8));MemoryStream ms = temp.Export(list, strHeaderText, FieldNames);//  new AppException("导出文件开始2" + strHeaderText + DateTime.Now + "导出数据量:" + list.Count);if (ms != null){curContext.Response.BinaryWrite(ms.ToArray());}//  new AppException("导出文件结束2" + strHeaderText + DateTime.Now + "导出数据量:" + list.Count);ms.Close();ms.Dispose();curContext.Response.End();}

NPOI 导入导出和Excel版本,错误文件扩展名和文件的格式不匹配相关推荐

  1. 使用NPOI导入导出标准Excel

    使用NPOI导入导出标准Excel 转自http://www.cnblogs.com/lwme/archive/2011/11/18/npoi_excel_import_export.html 试过很 ...

  2. 打开excel显示php拓展名,phpexcel 导出excel 因为文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配...

    phpexcel导出excel:打开出现这个错误,强制打开是乱码 $objPHPExcel =newPHPExcel(); $filename ="test.xls"; heade ...

  3. (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致...

    1.打开注册表编辑器 方法:开始 -> 运行 -> 输入regedit -> 确定2.找到注册表子项 HKEY_CURRENT_USER\Software\Microsoft\Off ...

  4. Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配...

    office版本:2016  系统版本:win10 问题描述:  1.桌面新建excel表格后,打开时,提示"Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效.请确定文件 ...

  5. Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配

    office版本:2016 系统版本:win10 问题描述: 1.桌面新建excel表格后,打开时,提示"Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效.请确定文件未损 ...

  6. 已解决Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。

    已解决Excel无法打开文件test.xIsx",因为文件格式或文件扩展名无效.请确定文件未损坏,并且文件扩展名与文件的格式匹配. 文章目录 报错代码 报错原因 解决方法 帮忙解决 报错代码 ...

  7. Excel右键,新建工作表,打开时提示“因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。的**解决方案**

    Excel右键,新建工作表,打开时提示"因为文件格式或文件扩展名无效.请确定文件未损坏,并且文件扩展名与文件的格式匹配.的解决方案 如果你的电脑之前装过WPS,后来又卸载了,那么十有八九是路 ...

  8. 根据文件扩展名得到文件对应该类型Icon方法

    2019独角兽企业重金招聘Python工程师标准>>> 根据文件扩展名得到文件对应该类型Icon方法 package com.fleety.util; import java.awt ...

  9. 如何自动备份指定文件扩展名的文件?

    关于文件扩展名 文件扩展名,一个点后跟几个字母,例如".doc"或".jpg",构成计算机文档名称的结尾.保存文档时,请务必在单击"保存"之 ...

最新文章

  1. python开发函数进阶:递归函数
  2. 《JavaScript框架设计》——1.3 数组化
  3. FFMPEG 提取码流的基本信息
  4. linux下的科学软件下载,十分科学app-十分科学官网版下载v1.4.3-Linux公社
  5. 使用Intellij Idea 创建一个Web项目!
  6. [工具]-PGP的使用方法
  7. wxWidgets:wxTrackable类用法
  8. php调用百度天气接口,php使用百度天气接口示例
  9. 关于c# .net爬虫
  10. java实现折半查找_java语言之实现折半查找算法
  11. sicily 1295. 负权数
  12. BAT54C 二极管是如何工作的?
  13. 「以云为核,无感极速」顶象第五代验证码
  14. 鄂尔多斯固体废物智慧化管理平台设备和功能概况
  15. 艾司博讯:拼多多商家sku编码是什么意思
  16. Report WebCore crash to the ErrorReportUtils at:Fri Jul 24 09:59:08 格林尼治标准时间+0800 2015
  17. 经典编程题目-古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子
  18. 介绍中国传统节日的网页html,介绍中国传统节日的作文4篇
  19. FPGA Implementation of BPSK Modulator and Demodulator
  20. 数据仓库Hive编程——HiveQL的数据定义(一):Hive中的数据库

热门文章

  1. Android判断当前系统使用的语言
  2. 会说话:如何求人办事会说场面话
  3. 2013传智播客视频--.ppt,.pptx,.doc,.docx.目录
  4. [ahk]选中内容 按热键即发音
  5. 软件外包的五点管理技巧
  6. (转)对话架构师:短视频社区“美拍”的架构实战
  7. Markdown编辑器语法大全
  8. 英语中常用的短语和句子
  9. bin文件分析发现的问题(1)
  10. 智能产品工厂测试软件,人工智能如何帮助工厂做质量检测