2016-08-30 1 views
-1

를 엑셀 : 여기Vb.net 수출 데이터가 나는 다음 버튼 클릭 이벤트와 함께 Excel로 데이터를 내보낼 다음 코드에 문제가

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click 
    ExportToExcel() 
End Sub 

하면 코드

Private Sub ExportToExcel() 
    Dim ExcelApp As Object, ExcelBook As Object 
    Dim ExcelSheet As Object 
    Dim i As Integer 
    Dim j As Integer 
    Try 
     Me.DgView.DefaultCellStyle.ForeColor = Color.Navy 
     Me.DgView.RowsDefaultCellStyle.BackColor = Color.AliceBlue 
     Me.DgView.GridColor = Color.Blue 
     Me.DgView.BorderStyle = BorderStyle.Fixed3D 
     Me.DgView.RowHeadersBorderStyle = BorderStyle.Fixed3D 


     DgView.AutoGenerateColumns = False 

     Dim ReferColumn As New DataGridViewTextBoxColumn() 
     ReferColumn.DataPropertyName = "Refer_no" 
     ReferColumn.HeaderText = "ካሴት መ/ቁ" 
     ReferColumn.Width = 80 

     Dim TitleColumn As New DataGridViewTextBoxColumn() 
     TitleColumn.DataPropertyName = "Title" 
     TitleColumn.HeaderText = "ካሴት ርእስ" 
     TitleColumn.Width = 150 

     Dim GnrNmColumn As New DataGridViewTextBoxColumn() 
     GnrNmColumn.DataPropertyName = "Genre_Name" 
     GnrNmColumn.HeaderText = "የካሴት ዓይነት" 
     GnrNmColumn.Width = 100 

     Dim GrpNmColumn As New DataGridViewTextBoxColumn() 
     GrpNmColumn.DataPropertyName = "Group_Name" 
     GrpNmColumn.HeaderText = "የምድብ ስም" 
     GrpNmColumn.Width = 100 

     Dim ActColumn As New DataGridViewTextBoxColumn() 
     ActColumn.DataPropertyName = "Actors" 
     ActColumn.HeaderText = "ሪፖርተር" 
     ActColumn.Width = 150 

     Dim DirecColumn As New DataGridViewTextBoxColumn() 
     DirecColumn.DataPropertyName = "Director" 
     DirecColumn.HeaderText = "ኃላፊ" 
     DirecColumn.Width = 150 

     Dim LangColumn As New DataGridViewTextBoxColumn() 
     LangColumn.DataPropertyName = "Language" 
     LangColumn.HeaderText = "ቋንቋ" 
     LangColumn.Width = 150 
     Dim releasedateColumn As New DataGridViewTextBoxColumn() 
     LangColumn.DataPropertyName = "release_date" 
     LangColumn.HeaderText = "የተቀረፀበተት ቀነን" 
     LangColumn.Width = 150 
     Dim StatusColumn As New DataGridViewTextBoxColumn() 
     StatusColumn.DataPropertyName = "status" 
     StatusColumn.HeaderText = "ሁኔታ" 
     StatusColumn.Width = 80 

     Dim synopsisColumn As New DataGridViewTextBoxColumn() 
     synopsisColumn.DataPropertyName = "synopsis" 
     synopsisColumn.HeaderText = "የተቀረፀበተት ጉዳይ" 
     synopsisColumn.Width = 180 

     DgView.Columns.Add(ReferColumn) 
     DgView.Columns.Add(TitleColumn) 
     DgView.Columns.Add(GnrNmColumn) 
     DgView.Columns.Add(GrpNmColumn) 
     DgView.Columns.Add(ActColumn) 
     DgView.Columns.Add(DirecColumn) 
     DgView.Columns.Add(LangColumn) 
     DgView.Columns.Add(releasedateColumn) 
     DgView.Columns.Add(StatusColumn) 
     DgView.Columns.Add(synopsisColumn) 

     Dim columns As String() = {"Refer_No", "Title", "genre_name", "group_name", "Actors", "Director", "Language", "release_date", "Status", "synopsis"} 


     DVDModule.FillListWithoutParam(DVDList, columns, "usp_SelectDVDList", _ 
                 GetType(Entity.DVD)) 

     FormatGridWithBothTableAndColumnStyles() 
     DgView.DataSource = DVDList 


     'create object of excel 
     ExcelApp = CreateObject("Excel.Application") 
     ExcelBook = ExcelApp.WorkBooks.Add 
     ExcelSheet = ExcelBook.WorkSheets(1) 

     With ExcelSheet 
      For Each column As DataGridViewColumn In DgView.Columns 
       .cells(1, column.Index + 1) = column.HeaderText 
      Next 
      For i = 1 To Me.DgView.RowCount 
       .cells(i + 1, 1) = Me.DgView.Rows(i - 1).Cells("Refer_no").Value 
       For j = 1 To DgView.Columns.Count - 1 
        .cells(i + 1, j + 1) = DgView.Rows(i - 1).Cells(j).Value 
       Next 
      Next 
     End With 

     ExcelApp.Visible = True 
     ' 
     ExcelSheet = Nothing 
     ExcelBook = Nothing 
     ExcelApp = Nothing 
+0

코드를 형식화하십시오. 아무도이 혼란을 읽을 수 있습니다 – Radinator

+0

경로 쓰기 권한 문제가 수정되었습니다 –

답변

0

에게 있습니다 나는 모든 코드를 읽지 않았다는 것을 인정합니다. 그것은 엉망이고 질문을 하기엔 너무 많은 코드가 있습니다. 그것은 어떤 종류의 오류 또는 무엇을 제공합니까?

어쨌든 일부 데이터가 표시된 표를 내보내려면 MS Excel 대신 .csv 파일을 만드는 것이 좋습니다. 코드 작성이 훨씬 쉬우 며 실행 중 더 빠르며 출력 파일은 이식 가능합니다

+0

정보를 제공해 주셔서 감사합니다.하지만 프로그램을 실행하고 버튼을 클릭하면 Microsoft Excel이 'C : \ users \ 7BFEE40 '오류 메시지가 나타나고 파일 이름이나 경로가 존재하지 않거나 파일이 다른 프로그램이나 작업 표에서 현재 사용중인 이름과 같은 이름으로 저장하려고하면 오류의 원인을 제시합니다 –

관련 문제