1 pièce(s) jointe(s)
Exporter le contenu d'un datagridview vers un tableau dans Excel
Salut,
j'aimerais exporter le contenu d'un datagridview sous forme d'un tableau en Excel (le but est que l'on puisse faire des tri apres avec ce tableau).
j'ai trouvé un bout de code qui marche mais qui ne fais pas vraiment ce que je veux (Inserer un tableau dans excel depuis le code) Voir la miniature attaché.
Merci.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
private void btnExport_Click(object sender, EventArgs e)
{
Excel.Application xlApp = default(Excel.Application);
Excel.Workbook xlWorkBook = default(Excel.Workbook);
Excel.Worksheet xlWorkSheet = default(Excel.Worksheet);
object misValue = System.Reflection.Missing.Value;
int i = 0;
int j = 0;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlApp.ActiveSheet;
for (int k = 1; k < dgv.Columns.Count+1; k++)
{
xlWorkSheet.Cells[1, k] = dgv.Columns[k-1].HeaderText.ToString();
}
for (i = 0; i <= dgv.RowCount - 2; i++)
{
for (j = 0; j <= dgv.ColumnCount-1; j++)
{
xlWorkSheet.Cells[i + 2, j + 1] = dgv[j, i].Value.ToString();
}
}
xlWorkSheet.SaveAs("D:\\customers.xlsx");
xlWorkBook.Close();
xlApp.Quit();
releaseObject(xlApp);
releaseObject(xlWorkBook);
releaseObject(xlWorkSheet);
MessageBox.Show("You can find the file D:\\customers.xlsx");
}
private void releaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
catch (Exception ex)
{
obj = null;
}
finally
{
GC.Collect();
}
} |