2016-08-31 17 views
0

DataGridviewの行を、セルA10:AA10から始まるヘッダーを持つ既存のExcelテンプレートにエクスポートします。vb.netテンプレートをExcelにエクスポートするDatagridview

これはテンプレートです:

enter image description here

私はこれが唯一の新しいExcelファイルを作成し、この

Public Sub exportToexcel() 


    Dim default_location As String = "D:\Book1.xlsx" 

    Dim dset As New DataSet 

    dset.Tables.Add() 

    For i As Integer = 0 To dgvReports.ColumnCount - 1 
     dset.Tables(0).Columns.Add(dgvReports.Columns(i).HeaderText) 
    Next 
    add rows to the table 
    Dim dr1 As DataRow 
    For i As Integer = 0 To dgvReports.RowCount - 1 
     dr1 = dset.Tables(0).NewRow 
     For j As Integer = 0 To dgvReports.Columns.Count - 1 

      dr1(j) = dgvReports.Rows(i).Cells(j).Value 


     Next 
     dset.Tables(0).Rows.Add(dr1) 
    Next 

    Dim excel As Microsoft.Office.Interop.Excel.Application 
    excel = New Microsoft.Office.Interop.Excel.Application 
    Dim wBook As Microsoft.Office.Interop.Excel.Workbook 
    Dim wSheet As Microsoft.Office.Interop.Excel.Worksheet 

    excel.Visible = True 
    excel.UserControl = True 

    wBook = excel.Workbooks.Add(System.Reflection.Missing.Value) 
    wSheet = wBook.Sheets("Sheet1") 
    excel.Range("A50:I50").EntireColumn.AutoFit() 
    With wBook 
     .Sheets("Sheet1").Select() 
     .Sheets(1).Name = "Sheet1" 

    End With 

    Dim dt As System.Data.DataTable = dset.Tables(0) 
    ' wSheet.Cells(1).value = strFileName 
    For Each col As DataGridViewColumn In dgvReports.Columns 
     wSheet.Cells(1, col.Index + 1) = col.HeaderText.ToString 
    Next 


    For i = 0 To dgvReports.RowCount - 1 
     For j = 0 To dgvReports.ColumnCount - 1 
      wSheet.Columns.NumberFormat = "@" 
      wSheet.Cells(i + 2, j + 1).value = dgvReports.Rows(i).Cells(j).Value.ToString 
     Next j 
    Next i 

    wSheet.Columns.AutoFit() 


    Dim blnFileOpen As Boolean = False 
    Try 
     Dim fileTemp As System.IO.FileStream = System.IO.File.OpenWrite(default_location) 
     fileTemp.Close() 
    Catch ex As Exception 
     blnFileOpen = False 
    End Try 

    If System.IO.File.Exists(default_location) Then 
     System.IO.File.Delete(default_location) 
    End If 
    wBook.SaveAs(default_location) 
    excel.Workbooks.Open(default_location) 
    excel.Visible = True 
End Sub 

を試してみました。私はただ既存のExcelファイルを感じる必要があります。

+0

何downvoteと? :/ – Redentoru

+0

あなたの「質問」が本質的に質問をしていないので、私は推測しませんでした...だから問題は何ですか? – Esko

答えて

0

は、この行を置き換えます

wBook = excel.Workbooks.Add(System.Reflection.Missing.Value) 

そのコードは、Excelを作成し、あなたの新しくに新しいブックを追加します。

この意志オープンDEFAULT_LOCATION変数に割り当てられたファイル:

wBook = excel.Workbooks.Open(default_location) 
関連する問題