繁体   English   中英

如何将datagridview导出到Excel文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM