web-dev-qa-db-fra.com

C # Excel: bonne façon d'obtenir le nombre de lignes et de colonnes

J'ai un problème avec C # Interop Excel obtenir une plage valide avec un gros fichier

https://www.dropbox.com/s/betci638b1faw8g/Demo%20Training%20Data.xlsx?dl=

Ceci est mon fichier mais la taille réelle est de 1000 mais j'ai 49998

J'ai utilisé du code standard

Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(txtbTrainPath.Text);
Excel.Worksheet xlWorksheet = xlWorkbook.Worksheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;              
xlApp.Visible = true;
xlWorksheet.Columns[5].Delete();
xlWorksheet.Columns[3].Delete();              
rowCount = xlRange.Rows.Count;
colCount = xlRange.Columns.Count;

Seulement pour ce fichier ne fonctionne pas correctement, les autres fichiers fonctionnent bien. Veuillez m'aider à trouver le problème. Comment redimensionner la feuille de calcul pour une taille valide uniquement.

4
riguang zheng

Après avoir téléchargé le fichier Excel et l'avoir regardé, j'ai trouvé comme je m'y attendais, le formatage sur la ligne 49998 de la colonne C. La police était différente, la mise en forme des nombres était différente et la couleur de la police était rouge. J'ai simplement supprimé toutes les cellules de la ligne 49998, ce qui a simplement réduit le nombre de lignes de plage utilisées à 49997. Vous pouvez jouer à cette supposition quelles cellules ont un formatage en supprimant la dernière ligne, puis vérifiez à nouveau. J'ai l'impression que TOUTES les cellules au-dessus de la ligne 49998 ont une forme différente.

Fixer cette feuille pour obtenir la plage d'utilisation appropriée. Vous avez deux choix. 1) Sélectionnez la ligne ENTIÈRE à partir de la ligne 1001, puis faites défiler jusqu'à la ligne 49998. Avec la touche MAJ enfoncée, cliquez sur la ligne ENTIER 49998. Avec les lignes 1001 à 49998 sélectionnées, faites un clic droit sur la sélection et sélectionnez "Supprimer" et éventuellement , s'il le demande, déplacez les cellules vers le haut. Ou 2) copiez les cellules avec des données uniquement et collez les cellules dans une nouvelle feuille de calcul, supprimez l'ancienne feuille de calcul et renommez la nouvelle feuille de calcul avec le nom de la feuille de calcul précédente. J'espère que cela a du sens.

1
JohnG