頁:
[1]
VB.net 創建具有多個工作表編程的Excel文件 求助(急)
下面是我匯出EXCEL的按鈕指令 可是 debug沒錯誤 可是執行時出現附件畫面 不知如何修正 3張表單匯到同一EXCELPrivate Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlWorkSheet1 As Microsoft.Office.Interop.Excel.Worksheet
Dim xlWorkSheet2 As Microsoft.Office.Interop.Excel.Worksheet
Dim xlWorkSheet3 As Microsoft.Office.Interop.Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim i As Integer
Dim j As Integer
xlApp = New Microsoft.Office.Interop.Excel.Application
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet1 = xlWorkBook.Sheets("sheet1")
xlWorkSheet1 = xlWorkBook.Sheets("sheet2")
xlWorkSheet1 = xlWorkBook.Sheets("sheet3")
For i = 0 To DataTable1DataGridView.RowCount - 1
For j = 0 To DataTable1DataGridView.ColumnCount - 1
For k As Integer = 1 To DataTable1DataGridView.Columns.Count
xlWorkSheet1.Cells(1, k) = DataTable1DataGridView.Columns(k - 1).HeaderText
xlWorkSheet1.Cells(i + 2, j + 1) = DataTable1DataGridView(j, i).Value.ToString()
Next
Next
Next
For i = 0 To DataTable2DataGridView.RowCount - 1
For j = 0 To DataTable2DataGridView.ColumnCount - 1
For k As Integer = 1 To DataTable2DataGridView.Columns.Count
xlWorkSheet1.Cells(1, k) = DataTable2DataGridView.Columns(k - 1).HeaderText
xlWorkSheet1.Cells(i + 2, j + 1) = DataTable2DataGridView(j, i).Value.ToString()
Next
Next
Next
For i = 0 To DataTable3DataGridView.RowCount - 1
For j = 0 To DataTable3DataGridView.ColumnCount - 1
For k As Integer = 1 To DataTable3DataGridView.Columns.Count
xlWorkSheet1.Cells(1, k) = DataTable3DataGridView.Columns(k - 1).HeaderText
xlWorkSheet1.Cells(i + 2, j + 1) = DataTable3DataGridView(j, i).Value.ToString()
Next
Next
Next
xlWorkSheet1.SaveAs("D:\報表\銷貨明細單.xlsx")
xlWorkBook.Close()
xlApp.Quit()
releaseObject(xlApp)
releaseObject(xlWorkBook)
releaseObject(xlWorkSheet1)
Dim res As MsgBoxResult
res = MsgBox("檔案匯出完成,是否預覽?", MsgBoxStyle.YesNo)
If (res = MsgBoxResult.Yes) Then
Process.Start("D:\報表\銷貨明細單.xlsx")
End If
End Sub
Private Sub releaseObject(ByVal obj As Object)
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
obj = Nothing
Catch ex As Exception
obj = Nothing
Finally
GC.Collect()
End Try
End Sub
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>
頁:
[1]