匯出 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() Return True ...
匯出 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.FileSystem.WriteAllBytes(sfd.FileName, ...
留言
張貼留言
歡迎留言