匯出 DataGridView 資料到 Excel Imports System.Runtime.InteropServices Private Sub btnExport_Click(sender As Object, e As EventArgs) Handles btnExport.Click ' 檢查DataGridView是否有數據' If dgv1.Rows.Count = 0 Then MessageBox.Show("沒有資料可以匯出", "訊息", MessageBoxButtons.OK, MessageBoxIcon.Hand) Return End If ' 檢查是否安裝Excel' If Not IsExcelInstalled() Then MessageBox.Show("這台電腦沒有安裝 Office Excel,無法繼續執行!", "訊息", MessageBoxButtons.OK, MessageBoxIcon.Hand) Return End If Try ' 開始匯出資料到 Excel' ExportDataGridViewToExcel(dgv1) Catch ex As Exception MessageBox.Show(ex.ToString, "匯出 Excel 發生錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub ' 檢查是否安裝Excel' Private Function IsExcelInstalled() As Boolean Try Dim excelApp As New Excel.Application() If excelApp IsNot Nothing Then excelApp.Quit() ...
匯出 DataGridView 資料到 Excel Imports ClosedXML.Excel Using stream As FileStream = New FileStream(filePath, FileMode.Open, FileAccess.ReadWrite) Using memoryStream As New MemoryStream() ' 初始化ExcelPackage,並讀取模板' Using workbook As New XLWorkbook(stream) Dim worksheet = workbook.Worksheet(1) ' 假設操作第一個工作表' #Region "塞入欄位" worksheet.Cells("A6").Value = "需填入的值" #End Region '儲存 Excel 文件到 MemoryStream' workbook.SaveAs(memoryStream) End Using Dim sfd As New SaveFileDialog() sfd.Filter = "Excel(*.xlsx)|*.xlsx" ' 設定預設檔案名稱' sfd.FileName = "檔案名稱" + ".xlsx" If (sfd.ShowDialog() = DialogResult.OK) Then '將 MemoryStream 位置重設為 0 (從頭開始讀取)' memoryStream.Position = 0 '將 Stream 轉換為 Byte 陣列並寫入檔案' My.Computer.FileSyst...
留言
張貼留言
歡迎留言