Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

CoqBlog

.NET is good :-)
{ Blog de coq }

Actualités

Classeurs Excel via OLEDB : et pour les versions 2007 (xlsb/xlsm/xlsx) ?

Avec les versions pre-2007 des fichiers Excel, nous avions l'habitude de pouvoir y accéder en tant que base de données fichier, via OLEDB en utilisant le moteur Jet, par une chaîne de connexion de ce type :

Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=YES;IMEX=1";

Mais Jet ne supporte pas l'ouverture des fichiers Excel 2007 (xlsb, xlsm et xlsx), ce qui vous sera signalé par l'erreur :

External table is not in the expected format.
Ou en français : La table externe n'est pas dans le format attendu.

Pour celà il faut passer par le nouveau "Microsoft Office 2007 Access Database Engine" :

Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties="Excel 12.0;HDR=YES;IMEX=1";

Naturellement, vous pouvez aussi vous en servir pour accéder aux fichiers xls.

Si vous utilisez ceci dans un code destiné à tourner sur une configuration dépourvue d'Office 2007, vous aurez besoin du redistribuable, disponible sur le Download Center : 2007 Office System Driver: Data Connectivity Components :

This download will install a set of components that can be used by non-Microsoft Office applications to read data from 2007 Office system files such as Microsoft Office Access 2007 (mdb and accdb) files and Microsoft Office Excel 2007 (xls, xlsx, and xlsb) files. Connectivity to Microsoft Windows SharePoint Services and Text files is also supported.
ODBC and OLEDB drivers are installed for application developers to use in developing their applications with connectivity to Office file formats.

Utilisateurs d'Office 2003 et du pack de compatibilité pour les formats de fichier Word, Excel et PowerPoint 2007 : l'Access Database Engine n'est pas inclus dans le pack, pensez donc au redistribuable cité plus haut si vous ne voulez pas recevoir ce genre de réponse :

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
Ou en français : Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas inscrit sur l'ordinateur local.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: vendredi 21 septembre 2007 20:09 par coq
Classé sous : ,

Commentaires

coq a dit :

Voir aussi ce post si le problème se pose sous Vista 64 bit : http://blogs.codes-sources.com/coq/archive/2007/11/25/microsoft-ace-oledb-12-0-en-64-bit.aspx

# novembre 25, 2007 17:40
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01