[英]How to save HeadColumn in DataGridView to Excel?
我使datagridview导出到excel
但Headcolumn不在Excel文件中显示。
样品
结果(在Excel中)
1 | mani | 213/435 | 0-892-342234-09
2 | ware | 1/67 | 053-36-49
但我需要结果(在Excel中)
ID | Name | Address | Tel. >>> **Headcolumn**
1 | mani | 213/435 | 0-892-342234-09
2 | ware | 1/67 | 053-36-49
代码C#Windows窗体
private void btExport_Click(object sender, EventArgs e)
{
string sql = @"SELECT id,fullname,address,tele FROM tablePeople";
SqlCommand cmd = new SqlCommand(sql, Conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "data");
DataTable dt = ds.Tables["data"];
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
int r = 0;
int c = 0;
// DGV To EXCLE But HeadColumn don't show in excel
for (r = 0; r <= dataGridView1.RowCount - 1; r++)
{
for (c = 0; c <= dataGridView1.ColumnCount - 1; c++)
{
DataGridViewCell cell = dataGridView1[c, r];
xlWorkSheet.Cells[r + 1, c + 1] = cell.Value;
}
}
xlWorkBook.SaveAs(@"c:\details.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
MessageBox.Show("Excel file created");
}
非常感谢您的时间:)
DataGridView
和DataTable
中都有一个Columns集合。您可以通过对它们进行迭代来获取列名。
在执行此操作之前:
for (r = 0; r <= dataGridView1.RowCount - 1; r++)
{
for (c = 0; c <= dataGridView1.ColumnCount - 1; c++)
{
DataGridViewCell cell = dataGridView1[c, r];
xlWorkSheet.Cells[r + 1, c + 1] = cell.Value;
}
}
添加此代码:
c = 0;
foreach(DataGridViewColumn dataGridViewColumn in dataGridView1.Columns)
{
xlWorkSheet.Cells[0, c++] = dataGridViewColumn.Name;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.