Devexpress GridView将xlsx导出到文件夹

时间:2018-07-27 02:49:20

标签: asp.net vb.net devexpress

我使用devexpress gridview导出将excel导出到一个文件夹,我能够导出excel文件,但是我不知道如何将excel文件导出到一个特定的文件夹。有人可以指导我吗?

例如,这是导出我的gridview xlsx的代码,并且工作正常

exportFeedbackGrid.WriteXlsToResponse()

我想将我的xlsx文件导出到e:\ filelocation,如何实现呢?

<dx:ASPxGridViewExporter GridViewID="FeedbackGrid" ID="exportFeedbackGrid" OnLoad="ExportTo"  runat ="server"></dx:ASPxGridViewExporter>

 Public Sub ExportTo(sender As Object, e As EventArgs)
        Dim stream As Stream = New FileStream("e:\filelocation", FileMode.Create)
        exportFeedbackGrid.WriteXlsToResponse()

    End Sub

1 个答案:

答案 0 :(得分:1)

假设exportFeedbackGridASPxGridViewExporter控件,则可以在执行System.IO方法之前使用WriteXlsToResponse()命名空间提供的标准I / O方法来处理网格导出程序控件的输出,如下例所示:

Public Sub ExportTo(sender As Object, e As EventArgs)
    ' write to specified folder
    Using ms As New MemoryStream()
        exportFeedbackGrid.WriteXls(ms)
        ms.Seek(0, SeekOrigin.Begin)

        Using stream As New FileStream(Server.MapPath("~/path/to/file/location/example.xls"), FileMode.Create, FileAccess.Write)
            ms.WriteTo(stream)
        End Using
    End Using

    ' write as response
    exportFeedbackGrid.WriteXlsToResponse()
End Sub

注释:

  1. 指定服务器的文件夹路径必须已启用写访问权限(即创建文件的权限)。

  2. 如果在分配直接文件路径时遇到问题,请考虑使用IIS虚拟目录(也已启用对物理路径的写入权限)。

参考:

ASPxGridViewExporter - How to save a file to a disk