J'utilise asp.net oledb pour exporter des informations vers un fichier Excel. Je rencontre des problèmes lorsque l'information à exporter devient trop grande, dans ce cas le code que j'ai donné ci-dessous, le fichier Excel généré devient une feuille de calcul vide.Asp.net utilisant oledb pour exporter le fichier excel retourne le fichier excel vide
Si j'ai changé la boucle à 1123 pour l'insertion des lignes. Le fichier Excel généré est très bien, 1125 lignes et 4 colonnes affichées.
Un programme de test sous forme de fenêtre fonctionne également correctement, quel que soit le nombre de lignes.
Le code a été simplifié, "information ..." dans la commande d'insertion sql représente 1803 caractères.
ExcelObjConn = "Provider=Microsoft.Ace.OLEDB.12.0;" & _
"Data Source=" & fileName & ";Extended Properties=Excel 12.0 XML"
ExcelConnection = New System.Data.OleDb.OleDbConnection(ExcelObjConn)
ExcelConnection.Open()
Try
SqlCommand = "CREATE TABLE ABC ([row1] text, [row2] text, [row3] text, [row4] text)"
ExcelCommand = New OleDb.OleDbCommand(SqlCommand, ExcelConnection)
ExcelCommand.ExecuteNonQuery()
ExcelCommand.Dispose()
For i As Integer = 0 To 1124
SqlCommand = "Insert into ABC ([row1], [row2], [row3], [row4]) Values ('information...', 'information ...', 'information ...', 'information ...')"
ExcelCommand = New OleDb.OleDbCommand(SqlCommand, ExcelConnection)
ExcelCommand.ExecuteNonQuery()
ExcelCommand.Dispose()
Next
Catch ex As Exception
Finally
If ExcelConnection IsNot Nothing Then
ExcelConnection.Close()
ExcelConnection.Dispose()
End If
End Try
Que dois-je faire? Merci.
Solution:
Bonjour, je ne pouvais pas trouver aussi bien une solution à mon problème. Ce que j'ai finalement fait était de lancer le processus en utilisant un autre service Windows séparé. Le code fonctionne parfaitement bien à partir d'un formulaire Windows ou d'un programme de service, mais pas asp.net, je ne sais pas pourquoi. J'espère que cette solution de contournement aide.