Accès aux données Excel (.xlsx) sans l'interface d'Excel
Le défi :
Tenter d'accéder aux données d'un fichier Excel (.xlsx) à l'aide de OleDbDataAdapter
et d'une chaîne de connexion configurée pour Microsoft.Jet.OLEDB.4.0
et Extended Properties=Excel 8.0
entraîne souvent une erreur « La table externe n'est pas au format attendu ». Cela se produit généralement lorsque le fichier Excel n'est pas déjà ouvert dans l'application Excel.
La solution :
Pour lire en toute transparence les données de votre fichier .xlsx sans le pré-ouvrir dans Excel, ajustez les paramètres de votre chaîne de connexion comme suit :
<code class="language-csharp">public static string filePath = @"C:\src\RedirectApplication\RedirectApplication1s.xlsx"; public static string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=Excel 12.0;";</code>
Voici le détail des modifications cruciales :
Microsoft.ACE.OLEDB.12.0
est spécialement conçu pour gérer les formats de fichiers Excel 2007 et versions ultérieures (.xlsx).Excel 12.0
correspond au format de fichier d'Excel 2007 et versions ultérieures.En implémentant cette chaîne de connexion mise à jour, vous devriez pouvoir accéder directement à vos données Excel sans rencontrer l'erreur « Le tableau externe n'est pas au format attendu ».
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!