C# devexpress多个gridview在单文件winforms中导出到excel

C# devexpress多个gridview在单文件winforms中导出到excel,c#,vb.net,export-to-excel,xtragrid,devexpress-windows-ui,C#,Vb.net,Export To Excel,Xtragrid,Devexpress Windows Ui,搜索并找到以下解决方案 用户已经放弃投票,但这给我带来了一个例外 MultiFileExportToExcel无法将类型为“DevExpress.XtraGrid.Views.Grid.GridView”的对象强制转换为类型为“DevExpress.XtraPrinting.IPrintable”。 无法将类型为“DevExpress.XtraGrid.Views.Grid.GridView”的对象强制转换为类型为“DevExpress.XtraPrinting.IPrintable” 完整代码

搜索并找到以下解决方案 用户已经放弃投票,但这给我带来了一个例外

MultiFileExportToExcel无法将类型为“DevExpress.XtraGrid.Views.Grid.GridView”的对象强制转换为类型为“DevExpress.XtraPrinting.IPrintable”。 无法将类型为“DevExpress.XtraGrid.Views.Grid.GridView”的对象强制转换为类型为“DevExpress.XtraPrinting.IPrintable”

完整代码如下:

 Public Sub MultiFileExportToExcel()
    Using saveDialog = New SaveFileDialog()
        saveDialog.Filter = "Excel (.xlsx)|*.xlsx"
        If saveDialog.ShowDialog() = DialogResult.OK Then
            Dim printingSystem = New PrintingSystemBase()
            Dim compositeLink = New CompositeLinkBase()
            compositeLink.PrintingSystemBase = printingSystem

            Dim link1 = New PrintableComponentLinkBase()
            link1.Component = CType(GridView1, IPrintable)
            Dim link2 = New PrintableComponentLinkBase()
            link2.Component = CType(GridView2, IPrintable)

            compositeLink.Links.Add(link1)
            compositeLink.Links.Add(link2)
            Dim options = New XlsxExportOptions()

            options.ExportMode = XlsxExportMode.SingleFilePageByPage
            compositeLink.CreatePageForEachLink()
            compositeLink.ExportToXlsx(saveDialog.FileName, options)
        End If
    End Using
End Sub

提前感谢。

CType(GridView1,IPrintable)
是我猜测的错误。看看这个解决方案,我认为您应该使用
GridView1
。这是解决方案代码<代码>link1.Component=grid1如您所见,没有强制转换。出现了相同的错误。为了确保,您同时更改了
link1.Component=GridView1
link2.Component=GridView2
?是的,我已更改。就是这样。谢谢你,成功了。我浪费了2到3个小时去寻找解决方案。由此可见,我对编码还不熟悉:)