[C#] Mettre image dans fichier Excel
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 :
Code:
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); |
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.
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 :
Code:
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;
}
}
} |
Merci à vous :)
Bonne soirée.