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

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

1

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

2

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

3

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

4

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

Imports Microsoft.Office.Interop Imports System.Text Public Class Form1

5

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

Private excelApp = ใหม่ Excel.Application Private excelDoc As Excel.Workbook Private excelSheet As Excel.Worksheet ช่วงส่วนตัวเป็น Excel.Range

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 จากนั้นตั้งค่าคุณสมบัติที่มองเห็นเป็น True เพื่อบอกให้ Excel แสดงตัวเองบนหน้าจอ จากนั้นสร้างแผ่นงานใหม่และรับหมายเลขอ้างอิงไปยังเพจที่ใช้งานอยู่

8

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

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

จบชั้น

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

9

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

สิ่งที่จำเป็น

  • Microsoft Visual Studio หรือ Visual Basic Express 2010
  • Microsoft Office Excel 2010, 2007 หรือ XP

ปลาย

  • เทคนิคเดียวกันนี้ใช้งานได้กับข้อมูลจากแบบสอบถาม SQL, ไฟล์ข้อความหรือข้อมูลอื่น ๆ ที่สามารถนำเสนอในรายงานหรือ ListView สำหรับการนำเสนอที่ดีกว่าให้ใส่ชื่อเทมเพลต Excel ลงในเมธอด Workbook.Open และข้อมูลจะซ้อนทับลงบนเทมเพลตที่จัดรูปแบบไว้ล่วงหน้า

โพสต์ยอดนิยม