Dépannage des erreurs Worksheet.Range dans Excel (HRESULT : 0x800A03EC)
Travailler avec des ensembles de données étendus dans d'anciennes versions d'Excel (comme Office 2007) peut entraîner des erreurs frustrantes. L'erreur « HRESULT : 0x800A03EC » lors de l'exécution de Worksheet.Range
survient souvent lors du traitement de grands ensembles de données (par exemple, plus de 70 000 lignes). Cette erreur indique spécifiquement une tentative d'accès à une plage de cellules dépassant la limite de lignes d'un fichier Excel rétrocompatible (.xls).
Le problème vient des limitations inhérentes au format de fichier .xls. Le nombre maximum de lignes dans un fichier .xls est de 65 536. Code tentant d'accéder à une plage plus large, tel que :
Microsoft.Office.Interop.Excel.Range neededRange = currentWS.Range[cell.Cells[1, 1], cell.Cells[nRowCount, nColumnCount]];
échouera si nRowCount
dépasse cette limite.
Solution : Mise à niveau vers le format .xlsx
La solution est simple : enregistrez votre feuille de calcul sous forme de fichier .xlsx. Le format .xlsx prend en charge jusqu'à 1 048 576 lignes, éliminant ainsi la restriction du nombre de lignes.
Pour vérifier et modifier le format du fichier :
Après avoir enregistré en tant que fichier .xlsx, votre code devrait s'exécuter sans rencontrer l'erreur « HRESULT : 0x800A03EC », permettant un accès transparent à votre grand ensemble de données.
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!