วิธีการเขียนหลายแถวไปยัง Excel โดยใช้ Vb.Net

เมื่อสร้างแอปพลิเคชัน Visual Basic.Net ให้พิจารณาเพิ่มคุณลักษณะการส่งออกไปยัง Excel นอกเหนือจากรายงานที่พิมพ์ ฟังก์ชันที่เพิ่มเข้ามานี้ใช้รหัสเพียงเล็กน้อยและลูกค้าของคุณสามารถจัดเรียงและวิเคราะห์ข้อมูลในลักษณะใดก็ได้ที่พวกเขาเลือก ใช้ตัวออกแบบฟอร์มใน Visual Basic เพื่อเพิ่มฟังก์ชันนี้

1

เปิด Visual Studio และสร้างโครงการ Visual Basic ใหม่ คลิก "ไฟล์" แล้วคลิก "โครงการใหม่" เมื่อกล่องโต้ตอบโครงการใหม่ปรากฏขึ้นให้เลือก "Visual Basic / Windows" จากมุมมองแบบต้นไม้คลิกไอคอน "Windows Forms Application" ตั้งชื่อโครงการว่า "ExcelTest" จากนั้นคลิก "ตกลง" หลังจากรอสักครู่ตัวออกแบบฟอร์มจะปรากฏขึ้น

2

เพิ่มการอ้างอิงไปยังคอมโพเนนต์ Excel ActiveX คลิก "โครงการ" จากเมนูแบบเลื่อนลงจากนั้นคลิก "เพิ่มข้อมูลอ้างอิง" คลิกแท็บ“ COM” แล้วเลื่อนลงไปที่“ Microsoft Excel” อาจมี Excel มากกว่าหนึ่งอินสแตนซ์ในรายการดังนั้นเลือกเวอร์ชันล่าสุดที่พร้อมใช้งานบนคอมพิวเตอร์ของลูกค้า

3

เพิ่มปุ่มลงในแบบฟอร์ม คลิกไอคอนกล่องเครื่องมือเพื่อเปิดกล่องเครื่องมือจากนั้นลากปุ่มไปยังแบบฟอร์ม คลิกขวาที่ปุ่มแล้วเลือก“ Properties” เมื่อรายการคุณสมบัติปรากฏขึ้นให้ตั้งชื่อปุ่ม“ btnToExcel” และเปลี่ยนคุณสมบัติข้อความเป็น“ เป็น Excel” ตอนนี้คลิกที่ปุ่มใหม่เพื่อเปิดหน้าต่างรหัส

4

เพิ่มการนำเข้าไลบรารีที่ด้านบนของโค้ดโปรแกรมดังนี้:

นำเข้า Microsoft.Office.Interop นำเข้า System.Text Public Class Form1

5

ประกาศเขตข้อมูลส่วนตัวสำหรับวัตถุ Excel:

Private excelApp = New Excel.Application Private excelDoc เป็น Excel สมุดงานส่วนตัว excelSheet เป็น Excel แผ่นงานส่วนตัวช่วงเป็น Excel

6

สร้างเนื้อหาที่จะเข้าสู่สเปรดชีตตัวอย่างเช่น:

Private Sub btnToExcel_Click(sender As System.Object, e As System.EventArgs) Handles btnToExcel.Click Dim txt As New StringBuilder Dim i, j As Integer For i = 1 To 20 For j = 1 To 10 txt.Append(i * j) txt.Append(vbTab) Next txt.AppendLine() Next Clipboard.SetText(txt.ToString) 

เนื้อหาที่ส่งไปยังสเปรดชีตในตัวอย่างนี้ใช้ตารางการคูณ 10 คูณ 20 ข้อมูลทั้งหมดจะต่อท้าย StringBuilder โดยมีคอลัมน์คั่นด้วยอักขระแท็บ (vbTab) และแต่ละแถวคั่นด้วยอักขระท้ายบรรทัด (โดยใช้เมธอด AppendLine) หลังจากคัดลอกเนื้อหาทั้งหมดไปยัง StringBuilder แล้วเนื้อหานั้นจะถูกวางไว้ในคลิปบอร์ด เมื่อเปิดสเปรดชีตรหัสจะวางข้อมูลนี้ลงในสเปรดชีต

7

เปิดสเปรดชีต:

excelApp = CreateObject ("Excel.Application") excelApp.Visible = True excelDoc = excelApp.Workbooks.Add () excelSheet = excelDoc.ActiveSheet

ที่นี่โปรแกรมจะสร้างวัตถุแอปพลิเคชัน Excel ใหม่โดยใช้เมธอด CreateObject จากนั้นตั้งค่าคุณสมบัติ Visible เป็น True เพื่อบอกให้ Excel แสดงตัวเองบนหน้าจอ จากนั้นจะสร้างแผ่นงานใหม่และรับหมายเลขอ้างอิงไปยังหน้าที่ใช้งานอยู่

8

วางข้อมูลลงในเซลล์แรกของสเปรดชีต:

 range = excelSheet.Cells(1, 1) excelSheet.Paste(range) End Sub 

จบคลาส

รับช่วงของเซลล์แรกจากนั้นวางเนื้อหาของคลิปบอร์ดลงในเซลล์ แท็บและฟีดบรรทัดแยกคอลัมน์และแถว

9

เรียกใช้โปรแกรม คลิก“ F5” เพื่อเริ่มโปรแกรมจากนั้นคลิกปุ่ม“ To Excel” เพื่อเปิดและดูสเปรดชีต