vb.net excel database ด้วย OleDb

31 Jul 2017,
Share: 

ในบทความนี้จะมาพูดถึงเรื่องการทํางานกับ file Excel ด้วย VB.NET โดยจะสามารถเข้าถึงข้อมูล แก้ไขข้อมูล และเพิ่มข้อมูล ด้วยคําสั่ง SQL เหมือนกับเป็น Database ตัวนึง ซึ่งการใช้งานจะต้องใช้ libraries ที่ชื่อว่า OleDb ใน Virtual Studio จะมีให้อยู่แล้ว

วิธีการใช้งานจะแบ่งเป็นสองแบบดังนี้

  1. การใช้งานโดยไม่ต้องการผลลัพธ์ของข้อมูลเช่น insert, update, delete
  2. การใช้งานโดยต้องการผลลัพธ์ของข้อมูลเช่น Query ข้อมูลจาก Excel(คําสั่ง Select)

ตัวอย่างการใช้งานในแบบที่1

Try
    Dim filePath = "test.xls" 'ชื่อของ File Excel ที่ต้องการ
    Dim conStr= String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;""", filePath)
    Dim cn As New System.Data.OleDb.OleDbConnection()
    Dim cm As New System.Data.OleDb.OleDbCommand()

    cn.ConnectionString = conStr
    cn.Open()

    With cm
        .Connection = cn
        'insert ข้อมูลลง Sheet1 2 column
        .CommandText = "INSERT INTO [Sheet1$] values ('111', 'ABC')"
        .ExecuteNonQuery() 'ทําการ Execute หรือ รัน SQL Command
    End With

    cn.Close() 'ปิดการเชื่อมต่อกับ File Excel
Catch ex As Exception
    errmsg = ex.Message
End Try

output: ในไฟล์ test.xls จะถูกเพิ่มข้อมูลลงใปใน “Sheet1” 1 row

ตัวอย่างการใช้งานในแบบที่2

Try
    Dim filePath = "test.xls" 'ชื่อของ File Excel ที่ต้องการ
    Dim conStr= String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;""", filePath)
    Dim MyConnection As System.Data.OleDb.OleDbConnection
    Dim DtSet As System.Data.DataSet
    Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
    Dim cmd = ""
    Dim dt As New DataTable() 'สร้างตัวแปรสําหรับเก็บข้อมูลที่ Query ออกมา

    MyConnection = New System.Data.OleDb.OleDbConnection(conStr)
    cmd = "SELECT * FROM [Sheet1$]" 'SQL Command ที่ต้องการ
    MyCommand = New System.Data.OleDb.OleDbDataAdapter(cmd, MyConnection)
    DtSet = New System.Data.DataSet
    MyCommand.Fill(DtSet)
    dt = DtSet.Tables(0) 'นําข้อมุลที่ Query ออกมาได้ เก็บในตัวแปรโดยจะเป็นข้อมุลชนิด dataTable
    MyConnection.Close()
Catch ex As Exception
    errmsg = ex.Message
End Try

output: จะได้ข้อมูลจากไฟล์ test.xls ใน Sheet1 โดยข้อมูลจะอยู่ในตัวแปร dt เป็น dataTable สามารถทําข้อมูลไปใช้ได้ตามต้องการ

Suggestion blogs

messenger บนเว็บ เปิดให้ใช้แล้ว!!!

messenger ของ facebook เปิดให้ใช้บนเว็บแล้ว messenger.com เมื่อเข้ามาหน้าแรกจะให้เรา login ด้วย account facebook ถ้าเรา login กับเว็บ facebook แล้วสามารถ กดปุ่ม Continue as ... ได้เลย

Goodbye wordpress, Hello Hugo

สวัสดีครับ กลับมาอีกครั้งหลังจากหายไปไม่ได้เขียน Blog นานมากๆ กลับมาครั้งนี้มีการเปลี่ยนแปลงหลายอย่างครับชื่อเว็บเปลี่ยนจากเดิม www.thitiblog.com เป็น thiti.dev แล้วในตอนนี้ และเปลี่ยนจากเดิมที่ใช้ Wordpress มาเป็น Hugo ก็จะมาเล่าให้ฟังว่า Hugo มันคืออะไร ดีอย่างไง ทําไมถึงหันมาใช้ HugoHugo คืออะไรHugo(static site generator) เป็นเครื่องมือสําหรับสร้างเว็บ Page ที่เป็น Static file ล้วนๆ ไม่ต้องมี Database มีเฉพาะไฟล์ html, css, javascript, image ที่จริงก็มีอีกหลายเจ้า แต่ Hugo จะมีจุดเด่นในเรื่องของความเร็ว และความยืดหยุ่นในการใช้งานHugo ดีอย่างไรเมื่อเป็นเว็บแบบ Static file ทำให้สามารถใช้ Static File Hosting ธรรมดาได้เลย ซึ่งจะมีราคาที่ถูก และบางที่ก็ฟรีเนื่องจาก ไม่ต้องใช้ Database และไม่มีการประมวลผลในส่วนของ Backend เพียงแค่โยนไฟล์ออกไปเท่านั้น ทำให้เว็บเร็วมากๆทำ SEO ได้ดียิ่งขึ้น เนื่องจากเป็นเว็บ แบบ Static fileหมดปัญหาเรื่องการโดน Hack เพราะเว็บทั้งเว็บเป็น Static fileข้อจํากัดของ Hugoไม่สามารถทําเว็บที่มีการเก็บข้อมูลได้ เนื่องจากไม่มี Backend และ Databaseจะต้องมี Hugo ในเครื่องที่ต้องการแก้ไขหรือ เพิ่ม Contentเมื่อมีการ Update content จะต้อง Built ก่อนทําให้ Content จะไม่ถูก Update ในทันทีสรุป Hugo เหมาะกับการสร้างเว็บแบบไหนHugo เป็น Tool สําหรับสร้างเว็บที่เป็น Static website ดังนั้นเว็บที่เหมาะจะเป็นเว็บประเภทเน้นให้บริการ Content เป็นหลัก เช่น Web blog, เว็บแนะนําสินค้า, โรงเรียน ส่วนใหญ่เว็บพวกนี้จะแสดงผลเพียงเนื้อหาอย่างเดียว อาจจะมีการ embedded forms ต่างๆ ได้ เช่น Facebook comment, Form ส่งเมล์ติดต่อสอบถาม, google analytic ฯลฯ จะง่ายในการใช้งาน และจัดการเป็นอย่างมากหลังจากที่ได้ลองเล่น ก็พบว่าเหมาะกับ Web blog ของผมเป็นอย่างมาก เพราะง่ายต่อการจัดการ ระบบไม่ซับซ้อนเกินความจําเป็นสําหรับเว็บที่เน้นนําเสนอข้อมูลเพียงอย่างเดียว และที่สําคัญเป็นมิดรกับ SEO ส่วนในเรื่อง Performance ก็ดีมากเพราะเป็น Static website เราสามารถนําเว็บของเราไปวางที่ Host ไหนก็ได้ ราคาถูก หรือไม่ก็ฟรี อย่างเช่น Google firebase hosting, netlify ฯลฯ ตอนนี้ผมจึงย้ายมาใช้งาน Hugo เป็นที่เรียบร้อย :) ถ้าท่านทําลังมองหาหรือ จะทํา Website ประเภทนี้อยู่ ก็เป็นตัวเลือกที่ดีเลยครับ

[ภาษาซี] ลําดับการทํางานของโอเปอเรเตอร์

โอเปอเรเตอร์มีอยู่หลายชนิด ดังนั้นภาษาซีจึงได้กําหนดลําดับความสําคัญของของโอเปอเรเตอร์ขึ้นมา โดยเรียงลําดับจากความสําคัญสูงไปความสําคัญตํ่า ดังนี้


Copyright © 2019 - 2026 thiti.dev |  v1.61.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ