2010-05-17 5 views
0

J'ai une page Web où l'utilisateur peut télécharger un fichier Excel. J'essaie 2 fichiers différents - un fonctionne sans problème, et l'autre me donne cette erreur:C# télécharger le fichier - erreur

Erreur: La longueur ne peut pas être inférieure à zéro. Nom du paramètre: longueur

Je sais que parfois cela se produit lorsque la taille du fichier est zéro, mais ce n'est pas le cas ici.

Peut-on faire la lumière sur ce problème? S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations.

+4

Je pense que vous devrez expliquer comment vous gérez le téléchargement et inclure le code qui pose problème avant que quiconque puisse vous aider. –

Répondre

0

Comme indiqué, plus d'informations sont nécessaires. Il n'est pas clair si vous ouvrez le fichier Excel et le traitement directement à partir de celui-ci ou de lire les données à partir d'Excel directement à un DataTable via ODBC, ou autre chose.

La plupart de mes problèmes de lecture de fichiers Excel sont dus soit à des titres de colonne, soit à des types de données différents dans une colonne particulière. Vérifiez d'abord si vos deux fichiers Excel ont les mêmes colonnes, toutes les colonnes ont des noms, etc.

Lorsque vous lisez un DataTable, le programme détermine le type de données de chaque colonne. Si les premières cellules sont vides, l'estimation peut être fausse. Si vos données sont comme les miennes, une colonne qui ressemble à tous les nombres peut être la moitié des nombres réels, la moitié des chaînes. Ou, une colonne de dates peut avoir une valeur illégale. J'ai plus de chance d'écrire les données d'Excel dans un fichier .csv, et d'avoir le programme écrire un schema.ini et le lire avec le Microsoft Text Driver, mais cela peut ne pas convenir à vos données.

0

Y a-t-il un panneau de mise à jour dans votre page? J'ai rencontré un problème lorsque j'essayais d'utiliser FileUpload avec un panneau de mise à jour dans la page.

Très étrange cas, je suggère que vous pourriez essayer de faire une copie du fichier qui fonctionne et essayer avec cela pour voir si cela fonctionne aussi. ou peut-être, vérifiez si les deux fichiers ont été enregistrés avec la même version d'Excel.