zoukankan      html  css  js  c++  java
  • C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致

    参考:https://blog.csdn.net/g710710/article/details/21166453/

    导致“文件格式与扩展名指定格式不一致”这个问题,是因为大多数人在导出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) < 12)//You use Excel 97-2003

            {

                FormatNum = -4143;

            }

            else//you use excel 2007 or later

            {

                FormatNum = 56;

            }

            workbook.SaveAs(@"D:MyExcel.xls", FormatNum);

  • 相关阅读:
    windows消息定义
    17种正则表达式
    DirectX程序例子
    C#调用WINDOWS API 要点
    提取网页中的超级链接
    基于消息驱动的C#Windows程序
    C#使用事件
    C#启动进程的方法
    C#注册表操作方法
    HighLight.net 2.0 版本源码
  • 原文地址:https://www.cnblogs.com/passerlee/p/13236659.html
Copyright © 2011-2022 走看看