web-dev-qa-db-fra.com

erreur xlsx: "Enregistrements supprimés: plage nommée à partir de la partie /xl/workbook.xml" lors de la tentative de résolution des erreurs.

J'ai un fichier xlsx que je génère en utilisant SSIS. Les données dans ce fichier sont écrites via une tâche de flux de données où le fichier xlsx est la destination oledb. J'ai utilisé la chaîne de connexion suivante comme expression pour la connexion OLEDB:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ @[User::ExcelPath] +";
Extended Properties=\"Excel 12.0 Xml;HDR=YES\";"

Le fichier s'ouvre juste avant la tâche de flux de données. Après la tâche de flux de données, je reçois une boîte de dialogue comme suit:

enter image description here

Lorsque je clique sur oui, je reçois un autre message: enter image description here

Le contenu du fichier XML est

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">       <logFileName>error072840_02.xml</logFileName><summary>Errors were detected in file   'C:\output\documentId-1.xlsx'</summary><removedRecords summary="Following is a list of removed records:"><removedRecord>Removed Records: Named range from /xl/workbook.xml part (Workbook)</removedRecord></removedRecords></recoveryLog>

Je ne suis pas capable de comprendre ce qui cause exactement cette erreur. Toute aide serait appréciée. TIA

11
trailblazer

Je l'ai résolu. Je ne connais pas vraiment la raison. A fait des recherches et a appris que quelque chose lié aux noms d'onglets peut causer ce problème. Je devais des onglets avec des noms comme 'tab' et 'tab (2)'. Peut-être que xlsx les traite comme des noms identiques.

9
trailblazer

J'avais ce problème lorsque j'utilisais EPPlus pour personnaliser un modèle existant. Pour moi, le problème se trouvait dans le modèle lui-même car il contenait des références non valides aux tables de recherche. J'ai trouvé cela dans Formula -> Name Manager.

Je vous suggère de vérifier le modèle si vous êtes confronté à ce problème.

8
t_plusplus

Dans mon cas, une erreur similaire a été provoquée par un nom de feuille (onglet) de plus de 30 caractères.

2
Michael Brennt

Pour moi, c’était un bouton avec une macro assignée avec une valeur comme: 'MyMacro ("MyParam")'

0
Thomas

Pour moi personnellement, les espaces/caractères spéciaux n'étaient pas pertinents dans les noms d'onglets. La plage nommée elle-même ne peut pas avoir d'espaces/caractères spéciaux car elle est traitée comme une variable

0
George Grainger

Peut-être qu'un caractère spécial dans votre nom de tabulation et que vous définissez une plage de noms avec le nom de tabulation. Tel que nom de tabulation est "A (1)", remplacez-le simplement par "A (1)"

0
idthappy