3

以前,我试图将 gridview 值导出到 excel 中。但使用下面给出的代码,我可以将数据导出到 excel 中。但仍然无法自动将该 excel 文件保存到C:/ drive 中的固定文件夹中。下面给出了我编写的导出到 excel 的代码。

Private Sub ButtonExport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)   Handles ButtonExport.Click
Dim rowsTotal, colsTotal As Short
Dim I, j, iC As Short
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
Dim xlApp As New Excel.Application
Try
    Dim excelBook As Excel.Workbook = xlApp.Workbooks.Add
    Dim excelWorksheet As Excel.Worksheet = CType(excelBook.Worksheets(1), Excel.Worksheet)
    xlApp.Visible = True
    rowsTotal = DataGridView1.RowCount - 1
    colsTotal = DataGridView1.Columns.Count - 1
    With excelWorksheet
        .Cells.Select()
        .Cells.Delete()
        For iC = 0 To colsTotal
            .Cells(1, iC + 1).Value = DataGridView1.Columns(iC).HeaderText
        Next
        For I = 0 To rowsTotal - 1
            For j = 0 To colsTotal
                .Cells(I + 2, j + 1).value = DataGrid1.Rows(I).Cells(j).Value
            Next j
        Next I
        .Rows("1:1").Font.FontStyle = "Bold"
        .Rows("1:1").Font.Size = 10
        .Cells.Columns.AutoFit()
        .Cells.Select()
        .Cells.EntireColumn.AutoFit()
        .Cells(1, 1).Select()
    End With
Catch ex As Exception
    MsgBox("Export Excel Error " & ex.Message)
Finally
    'RELEASE ALLOACTED RESOURCES
    System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
    xlApp = Nothing
End Try
End Sub

任何人都可以在这里帮助我解决这个问题,如何在 VB.NET 中自动保存该 excel 文件?

4

3 回答 3

5

SaveAs 方法是为Excel.Workbook

在你的结尾Try,就在 之前Catch,写:

excelBook.SaveAs(<some path here>, etc...)

请参阅此处了解更多信息。

要正确退出ExcelFinally ,请在开始时在您的块中写入:

xlApp.Workbooks.Close()
xlApp.Quit()
于 2013-05-14T06:40:20.193 回答
0

我刚用过:

    Dim oexcel As Object
    Dim obook As Object
    Dim owrite As New Microsoft.Office.Interop.Excel.Worksheet

    < your code > 

   owrite.SaveAs("c:\" & foldername)
于 2014-05-07T15:25:44.490 回答
0

这是一个较老的问题,但也许这仍然可以帮助某人。我最近需要读取、解析和写入 xlsx 文件。为此,我将 OpenXML SDK 与 C# 一起使用。MSDN 提供了一些很好的教程来说明如何做到这一点。如果有人有问题,我可以提供我的代码。最后一点……当我“发布”应用程序时,似乎需要在客户端计算机上安装 SDK。

于 2017-01-09T07:51:12.627 回答