首页 文章

以编程方式查找Excel文件的Excel版本

提问于
浏览
2

我正在使用OleDbConnection连接到C#程序的电子表格 . 连接字符串中的一个参数是Excel版本 .

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Extended Properties=" Excel 8.0 ; HDR = YES“

给定Excel文件的路径,如何找出它使用的Excel格式版本?

提前致谢,

T.

2 回答

  • 2

    下载OLE File Property Reader . 使用regsvr32注册dsofile.dll并将其作为参考添加到您的应用程序中 . 以下代码将输出Excel文件的类型 . 它不适用于xlsx / docx,因为它们不是OLE compunds目标文件,但应该适用于所有旧的Office格式(2007/2003 / XP) .

    var doc = new OleDocumentPropertiesClass();            
    doc.Open(@"c:\spreadhseet.xls", false, dsoFileOpenOptions.dsoOptionDefault);
    Console.WriteLine(doc.OleDocumentType);
    
  • 3

    除了所说的内容之外,除了使用Excel自动化打开文件之外,您还可以尝试从代码中读取文件版本:

    xls 个文件:这些文件保存为structured storage . 你可以使用这篇文章中的技巧:How To Determine Which Version of Excel Wrote a Workbook

    xlsx 文件:您可以将它们作为zip文件打开 . 版本位于app.xml文件AppVersion字段中 .

相关问题