关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
-----转载:http://blog.csdn.net/sgear/article/details/7663502
关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
导致“文件格式与扩展名指定格式不一致”这个问题,是因为大多数人在导出excel文件的时候,都是默认保存excel的格式,也就是直接workbook.Save(path)或者workbook.SaveAs(path).进而忽略了SaveAs方法里面的参数。与保存excel文件格式有
关的是它第二个参数FileForMat.
FileFormat
类型:System.Object XlFileFormat的值之一,指定保存文件时要使用的文件格式。对于原有文件,默认格式为最后一种
指定文件格式。对于新文件,默认格式为所用excel版本的格式。PS:当导出的excel文件的扩展名与所用excel版本的扩展名
不一致的时候就会出现“文件格式与扩展名指定格式不一致的”错误,当低版本打开excel文件时不但会提示这样的错误,还
会是乱码。
其他参数的解释可以看下这篇文章http://blog.csdn.net/zyming0815/article/details/5939104。
解决办法如下:
int FormatNum;//保存excel文件的格式
string Version;//excel版本号
Excel.Application Application = new Excel.Application();
Excel.Workbook workbook = (Excel.Workbook)Application.Workbooks.Add(Missing.Value);//激活工作簿
Excel.Worksheet worksheet =(Excel.Worksheet)workbook.Worksheets.Add(true);//给工作簿添加一个sheet
Version = Application.Version;//获取你使用的excel 的版本号
if (Convert.ToDouble(Version) < )//You use Excel 97-2003
{
FormatNum = -;
}
else//you use excel 2007 or later
{
FormatNum = ;
}
workbook.SaveAs(@"D:\MyExcel.xls", FormatNum);
如果想了解更多关于excel文件保存格式方面的知识,可以看下这篇文章比较详细。
http://www.rondebruin.nl/saveas.htm
后话:最近给公司的同事做EXCEL REPORT 就遇到了这样的问题,同事用的是2003版(我机子是2007版本),我用.NET生成的报表他打开是乱码,上网查大多数解决办法都是修改注册表什么的,觉得这个太麻烦了,也不可能去给每位同事去修改注册表啊。后来寻思SaveAs方法有那么多参数,应该有一个是指定保存格式的参数才对。哈哈,果然是。然后从FileFormat这个参数去查找资料,找到了上面推荐的那篇文章用VBA写的。然后就跟大家分享下咯 。~~哈哈
关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法的更多相关文章
- vbs 之 解决打开Excel文件格式与扩展名指定格式不一致的问题
' Q:解决打开Excel文件格式与扩展名指定格式不一致的问题' A: 使用工作簿saveAs时,往往忽略掉它的第二个参数FileFormat,添加即可. 比如: set bookDiff = oEx ...
- C# 导出Excel文件 所导出文件打开时提示“Excel文件格式与扩展名指定格式不一致”
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); ...
- Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?
今天winform代码做一个datagridview数据导出功能,导出的excel文件的后缀是*.xls(Micorsoft Excel 2000), 而本机新建的excel文件的后缀是 *.xlsx ...
- excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法 office2007应该遇到“向程序发送命令时出现 问题”,设置为以管理员运行也不好用,重装office也不好用,下面介绍下 ...
- excel打开提示 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?
有的时候打开xls文档时,会提示“文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是否仍要打开它?” 遇到这种情况,我们需要 打开“注册表编辑器” win键+R键,打开 ...
- 解决 Excel2013打开提示 文件格式和扩展名不匹配。文件可能已损坏或不安全
有的时候打开xls文档时,会提示“文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是否仍要打开它?” 遇到这种情况,我们需要 1.win键+R键,打开“运行“,输入re ...
- Excel2013打开提示 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?
有的时候打开xls文档时,会提示“文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是否仍要打开它?” 遇到这种情况,我们需要 1.win键+R键,打开“运行“,输入re ...
- WIN10下安装USB转串口驱动出现“文件的哈希值不在指定的目录”的解决办法
今天安装openJTAG驱动时出现“文件的哈希值不在指定的目录”,系统为WIN10专业版. 原因是驱动无数字签名,在WIN10中是不安全的驱动,所以显示哈希值不在范围内不能安装. 经查阅已经解决,发放 ...
- Office2007打开文件提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致”的解决办法
添加如下注册表 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel ...
随机推荐
- BZOJ 1012 最大数
Description 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度. 2. ...
- javascript content
1. Chrome, Mozila, IE 2. jQuery, underscore, zepto 3. underscore 4. Backbone, AngularJS 5. RequireJS ...
- struts2.0 struts.xml配置文件详解
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN&quo ...
- 【动态规划】Vijos P1143 三取方格数(NOIP2000提高组)
题目链接: https://vijos.org/p/1143 题目大意: NxN的矩阵,每个值只能取一次,从(1,1)走到(n,n)走三次能取得的最大值. 题目思路: [动态规划] f[x1][y1] ...
- Merge into(oracle)
作用:使用一条sql语句进行insert或者update操作,如果存在就update,如果不存在就insert 语法: MERGE INTO table_name t1 USING (table|vi ...
- Delphi 弹出Windows风格的选择文件夹对话框, 还可以新建文件夹
Delphi 弹出Windows风格的选择文件夹对话框, 还可以新建文件夹 unit Unit2; interface uses Windows, Messages, SysUtils, V ...
- kafka 消息服务
apache kafka参考 http://kafka.apache.org/documentation.html 消息队列方式: 点对点: 消息生产者生产消息发送到queue中,然后消息消费者从qu ...
- centos 安装node js环境
node.js支持多种平台安装,其中Win平台安装比较简单,下面重点讲解下Linux平台的安装步骤.本文以CentOS平台为实例,不准备讲 解采取源码编译安装方式,而是采取在node.js网站下载已经 ...
- C#中的 IList, ICollection ,IEnumerable 和 IEnumerator
IList, ICollection ,IEnumerable 很显然,这些都是集合接口的定义,先看看定义: // 摘要: // 表示可按照索引单独访问的对象的非泛型集合. [ComVisible(t ...
- Amazon API Gateway Importer整合过程小结
(1)需要将swagger json转换成amazon api gateway 所需要的格式(根据Method Request中 Request PathsURL Query String Param ...