2010-06-04 2 views
1

J'utilise la chaîne de connexion OLEDB pour cela et il semble que chaque fois que j'essaie de charger un fichier Excel (j'utilise .NET) cela prend énormément de temps. Cela provoque un délai d'attente et la plupart des fichiers supérieurs à une certaine taille ne peuvent pas être chargés dans le programme. Y a-t-il un autre moyen ou un autre modèle que je peux utiliser pour que tout fonctionne plus vite (le chargement de données que je veux dire)?Chargement de gros fichiers Excel

Je n'ai pas le code exact mais je viens d'utiliser une connexion simple et un dataTable.Fill()

+0

Pouvez-vous au moins poster votre code? –

Répondre

0

Réglée pour une approche légèrement plus rapide en utilisant DataReader. On dirait qu'il n'y a pas grand-chose que je puisse faire pour améliorer la vitesse.

0

vous pourriez essayer de faire l'insert comme

insert into mytable(col1,col2,col3) 
select 1,2,3 
union all 
select 4,5,6 

sur la chance que vous êtes utilisant le serveur SQL 2008 ou mieux vous pouvez aussi faire quelque chose comme ceci:

INSERT INTO MyTable (FirstCol, SecondCol) 
VALUES ('First',1), 
('Second',2), 
('Third',3), 
('Fourth',4), 
('Fifth',5) 

ce qui est généralement beaucoup plus efficace, mais je ne sais pas si vous voulez dire que la traînée est à la lecture du fichier ou insérant des enregistrements individuels.

+0

Oh. Pardon. Je regardais plus dans la lecture des fichiers plus rapidement que l'insertion. – Jonn