将 dataGridView 数据导出到 excel 时出现错误

Posted

技术标签:

【中文标题】将 dataGridView 数据导出到 excel 时出现错误【英文标题】:I got an error when export dataGridView data to excel 【发布时间】:2018-09-12 14:55:58 【问题描述】:

这是我的代码:

public virtual void CopyToClipboard()

    gridView1.SelectAll();
    DataObject dataObj = gridView1.GetClipboardContent();
    if (dataObj != null)
        Clipboard.SetDataObject(dataObj);            


private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)

    CopyToClipboard();
    Microsoft.Office.Interop.Excel.Application xlexcel;
    Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
    Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
    object misValue = System.Reflection.Missing.Value;
    xlexcel = new Excel.Application();
    xlexcel.Visible = true;
    xlWorkBook = xlexcel.Workbooks.Add(misValue);
    xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
    Excel.Range CR = (Excel.Range)xlWorkSheet.Cells[1, 1];
    CR.Select();
    xlWorkSheet.PasteSpecial(CR, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, true);

这是错误:

错误 2“DevExpress.XtraGrid.Views.Grid.GridView”不包含“GetClipboardContent”的定义,并且没有接受“DevExpress.XtraGrid.Views.Grid.GridView”类型的第一个参数的扩展方法“GetClipboardContent”可以被发现(您是否缺少 using 指令或程序集引用?)

我只需要从gridview 导出数据到excel 文件,只导出我在网格中看到的。

【问题讨论】:

您是否缺少 using 指令或程序集引用?有时这就是我的问题。 我不知道。我是这种语言的新手,在将“GetClipboardContent”更改为“CopyToClipboard”后,它说“无法将类型'void'隐式转换为'System.Windows.Forms.DataObject'” 【参考方案1】:

GetClipboardContent 是 DataGridView 方法,而您正在使用 DevExpress.XtraGrid。你可以使用CopyToClipboard。

【讨论】:

我是这种语言的新手,在将“GetClipboardContent”更改为“CopyToClipboard”后,它说“无法将类型'void'隐式转换为'System.Windows.Forms.DataObject'”跨度>

以上是关于将 dataGridView 数据导出到 excel 时出现错误的主要内容,如果未能解决你的问题,请参考以下文章

将 dataGridView 数据导出到 excel 时出现错误

使用互操作将 datagridview 导出到 excel

将excel数据导入到datagridview中

DataGridview中的数据如何导出到Excel中

如何使用 Excel 对象将 DataGridView 数据导出到 Excel

C#winform 两个datagridview中的数据一键导出到同一个excel中两个sheet页里