2013-05-14 7 views
2

Раньше я пытался экспортировать значение gridview в excel. но с приведенным ниже кодом я могу экспортировать данные в excel. но все еще не в состоянии Сохранить автоматически, что файл excel в фиксированной папке предполагается в C:/drive. Код, который я написал для экспорта в excel, приведен ниже.Как сохранить файл excel в vb.net

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 

может кто-нибудь здесь, пожалуйста, помогите мне с этой проблемой, которая, как сохранить, что Excel файл автоматически в VB.NET ??

+3

Вы даже попытались его сохранить? Проверьте [здесь] (http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas (v = vs.80) .aspx) –

+0

да, я могу сохранить его извне сохранить как вариант excel. но я хочу сохранить его автоматически после завершения экспорта. – SoumitaP

+0

Да, так проверьте ссылку на мой первый комментарий. –

ответ

4

Метод SaveAs определяется для Excel.Workbook

В конце вашего Try, как раз перед Catch, написать:

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

Относится к here для получения дополнительной информации.

И чтобы выйти правильно Excel, написать в вашем Finally блоке в начале:

xlApp.Workbooks.Close() 
xlApp.Quit() 
+0

, она показывает ошибку. – SoumitaP

+0

"Экспорт ошибки excel Файл невозможен. Попробуйте выполнить одно из следующих действий: – SoumitaP

+0

Где он показывает ошибку? Каков ваш путь? –

0

я просто использовал:

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

    < your code > 

    owrite.SaveAs("c:\" & foldername) 
0

Это старый вопрос, но, возможно, это поможет кто-то еще. Мне недавно нужно было прочитать, разобрать и написать файлы xlsx. Для этой цели я использовал OpenXML SDK с C#. MSDN предоставляет несколько полезных руководств о том, как это сделать. Если у кого есть вопросы, я могу предоставить свой код. Только одно последнее примечание ... когда я «опубликовал» приложение, установка SDK на компьютере клиента, казалось, была необходима.

Смежные вопросы