2010-01-15 13 views
2

J'utilise une OleDbConnection pour me connecter à une feuille de calcul à partir d'un programme C#. L'un des paramètres de la chaîne de connexion est la version Excel.Recherche par programme de la version Excel d'un fichier Excel

"Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C: \ Book1.xls; Propriétés étendues =" Excel 8.0, HDR = OUI »

Étant donné le chemin d'un fichier Excel fichier comment puis-je savoir quelle version format Excel utilise?

Merci à l'avance,

T.

Répondre

2

Télécharger OLE File Property Reader. Enregistrez-vous Dsofile.dll avec reg svr32 et ajoutez-le comme référence dans votre application. Le code suivant affichera le type de fichier Excel. Il ne fonctionnera pas sur xlsx/docx car ce ne sont pas des fichiers objets complex OLE, mais devraient fonctionner sur tous les anciens formats Office (2007/2003/XP).

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

je plus de ce qui a été dit et à part grâce à l'automatisation Excel pour ouvrir le fichier que vous pouvez essayer de lire la version du fichier à partir de votre code:

xls fichiers: ceux-ci sont enregistrées comme structured storage. vous pouvez utiliser la technique de l'article ici: How To Determine Which Version of Excel Wrote a Workbook

xlsx fichiers: vous pouvez les ouvrir en fichiers zip. La version se trouve dans le champ AppVersion du fichier app.xml.

Questions connexes