匯出 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...
使用 ClosedXML將DataGridView 匯出至 Excel Imports ClosedXML.Excel Public Sub ExportToExcel() Using stream As FileStream = New FileStream("D:\01.Project\Template.xlsx", FileMode.Open, FileAccess.ReadWrite) Using memoryStream As New MemoryStream() ' 初始化ExcelPackage,並讀取模板' Using workbook As New XLWorkbook(stream) Dim ws As IXLWorksheet = workbook.Worksheet(1) ' 假設操作第一個工作表' ' 匯出 DataGridView 標題' For col As Integer = 0 To DataGridView1.Columns.Count - 1 ws.Cell(1, col + 1).Value = DataGridView1.Columns(col).HeaderText Next ' 匯出 DataGridView 內容' For row As Integer = 0 To DataGridView1.Rows.Count - 1 For col As Integer = 0 To DataGridView1.Columns.Count - 1 Dim cellValue = DataGridView1.Rows(row).Cells(col).Value ws.Cell(row + 2, c...
留言
張貼留言
歡迎留言