[英]How to Export datagridview to excel file
我有一个5列的datagirdview数据,其中包括1列id
和4列文本。 Besida认为,我已导出到excel文件,但它仅显示5条记录,而我的datagridview有更多条记录。 我怎样才能将条件datagridvew导出到excel文件,其中只有1条记录,3条记录...我有一个代码,有人可以帮助我吗? :
private void Btnexport_Click(object sender, EventArgs e)
{
saveFileDialog1.InitialDirectory = "C:";
saveFileDialog1.Title = "Save as Excel File";
saveFileDialog1.FileName = "";
saveFileDialog1.Filter = "Excel File(2003)|*.xls|Excel File(2007)|*.xlsx";
if (saveFileDialog1.ShowDialog() != DialogResult.Cancel)
{
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(Type.Missing);
for (int i = 1; i < dataGridView1.Columns.Count + 1; i++)
{
excel.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText;
}
for (int i =0; i < dataGridView1.Columns.Count;i++ )
{
for(int j=0; j < dataGridView1.Columns.Count; j++)
{
excel.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
}
}
excel.ActiveWorkbook.SaveCopyAs(saveFileDialog1.FileName.ToString());
excel.ActiveWorkbook.Saved = true;
excel.Quit();
}
}
我认为您可以将2nd for循环的Columns更改为Rows ,导出的数据将是正确的。 此外,您是否保证所有单元格都不为空? 如果为空,则ToString()将引发异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.