-----转载: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文件格式与扩展名指定格式不一致的解决办法的更多相关文章

  1. vbs 之 解决打开Excel文件格式与扩展名指定格式不一致的问题

    ' Q:解决打开Excel文件格式与扩展名指定格式不一致的问题' A: 使用工作簿saveAs时,往往忽略掉它的第二个参数FileFormat,添加即可. 比如: set bookDiff = oEx ...

  2. C# 导出Excel文件 所导出文件打开时提示“Excel文件格式与扩展名指定格式不一致”

    Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); ...

  3. Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?

    今天winform代码做一个datagridview数据导出功能,导出的excel文件的后缀是*.xls(Micorsoft Excel 2000), 而本机新建的excel文件的后缀是 *.xlsx ...

  4. excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法

    excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法 office2007应该遇到“向程序发送命令时出现 问题”,设置为以管理员运行也不好用,重装office也不好用,下面介绍下 ...

  5. excel打开提示 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?

    有的时候打开xls文档时,会提示“文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是否仍要打开它?” 遇到这种情况,我们需要 打开“注册表编辑器” win键+R键,打开 ...

  6. 解决 Excel2013打开提示 文件格式和扩展名不匹配。文件可能已损坏或不安全

    有的时候打开xls文档时,会提示“文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是否仍要打开它?” 遇到这种情况,我们需要 1.win键+R键,打开“运行“,输入re ...

  7. Excel2013打开提示 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?

    有的时候打开xls文档时,会提示“文件格式和扩展名不匹配.文件可能已损坏或不安全.除非您信任其来源,否则请勿打开.是否仍要打开它?” 遇到这种情况,我们需要 1.win键+R键,打开“运行“,输入re ...

  8. WIN10下安装USB转串口驱动出现“文件的哈希值不在指定的目录”的解决办法

    今天安装openJTAG驱动时出现“文件的哈希值不在指定的目录”,系统为WIN10专业版. 原因是驱动无数字签名,在WIN10中是不安全的驱动,所以显示哈希值不在范围内不能安装. 经查阅已经解决,发放 ...

  9. Office2007打开文件提示“您尝试打开的文件xxx.xls的格式与文件扩展名指定的格式不一致”的解决办法

    添加如下注册表 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel ...

随机推荐

  1. mysql的乱码问题

    ALTER TABLE `news`.`snapshots` MODIFY title VARCHAR() CHARACTER SET utf8; ALTER TABLE `news`.`snapsh ...

  2. codeforces Unusual Product

    题意:给你n*n的矩阵,里面是1或0,然后q次询问,如果操作数为1,那么就把x行的数0变成1,1变成0:如果操作数为2,那么在x列上的数0变成1,1变成0:如果是3,输出: 思路:在求的时候,对角线上 ...

  3. 获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName

    http://blog.csdn.net/bichenggui/article/details/4774457 -------------------------------------------- ...

  4. hibernate 3.* C3P0配置 以及为什么需要连接池!

    Hibernate自带的连接池算法相当不成熟. 它只是为了让你快些上手,并不适合用于产品系统或性能测试中. 出于最佳性能和稳定性考虑你应该使用第三方的连接池.只需要用特定连接池的设置替换 hibern ...

  5. 【HDOJ】2268 How To Use The Car

    数学题.设步行速度a,车速b,距离c.Teddy步行时间为T1,WhereIsHeroFrom步行时间T2,总时间T.若b>a:aT1 + b(T-T1) = c (1)aT2 + b(T-T2 ...

  6. 【POJ】2278 DNA Sequence

    各种wa后,各种TLE.注意若AC非法,则ACT等一定非法.而且尽量少MOD. #include <iostream> #include <cstdio> #include & ...

  7. window7 64位安装Python

    Python下载地址:https://www.python.org/download/releases/2.7.8/ 选择64位的安装,然后双击打开下载的文件,默认一步步安装. 其中有一个步骤如下图: ...

  8. BestCoder Round #51 (div.2)

    明显是无良心的数学round= = 1000 Zball in Tina Town #include<iostream> #include<cstdio> #include&l ...

  9. 安装Maven、nexus

    一.软件包版本 jdk:jdk1.7.0_79 maven:apache-maven-3.3.3-bin.tar.gz nexus:nexus-webapp-2.8.0-05.war 二.安装mave ...

  10. 实战weblogic集群之创建节点和集群

    一.启动weblogic,访问控制台 weblogic的domain创建完成后,接下来就可以启动它,步骤如下: $ cd /app/sinova/domains/base_domain/bin $ . ...