Bonjour,
Je dois créer un fichier excel à partir d'une datagridview qui possède plus de 100 000 lignes.
Du coup, je dois trouver une méthode rapide pour créer ce fichier sans parcourir cellule par cellule sinon c'est beaucoup trop long
J'ai trouvé une solution avec :
Ca marche très bien pour du texte mais le problème est que la dernière colonne de chaque ligne de ma datagridview est en fait une image de type Bitmap.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // Get an Excel Range of the same dimensions Excel.Range range = (Excel.Range)xlWorkSheet.Cells[2, 1]; range = range.get_Resize(rowCount, columnCount); // Assign the 2-d array to the Excel Range range.set_Value(Excel.XlRangeValueDataType.xlRangeValueDefault, dataMap);
Du coup, lors de l'export, au lieu d'avoir l'image dans le fichier Excel généré, j'ai "System.Drawing.Bitmap".
Je n'arrive pas à trouver une solution pour incorporer du texte et des images dans ma matrice dataMap
Voilà mon code pour remplir le tableau dataMap :
Merci à vous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Object[,] dataMap= new Object[rowCount, columnCount]; for (int i = 0; i <= dgw.RowCount - 1; i++) { for (int j = 0; j <= dgw.ColumnCount - 1; j++) { DataGridViewCell cell = dgw[j, i]; if (cell.Value.GetType() == typeof(Bitmap)) { Bitmap b = (Bitmap)cell.Value; dataMap[i, j] = b; } else { dataMap[i,j] = cell.Value; } } }
Bonne soirée.
Partager