|
สำหรับ FarPoint Spread ActiveX (COM) ก็ตามชื่อมันเลยคือ Spread วัตถุประสงค์หลักของ Component ตัวนี้ ก็คือการใช้งานในลักษณะแบบตารางอิเล็กทรอนิกส์ หรือ SpreadSheet นั่นคืออยู่ในรูปแบบฟอร์แมตไฟล์ Excel ดีๆนั่นเอง จุดเด่นของ FarPoint คือสามารถทำงานเป็นตารางแบบ Excel มีแถวมีหลัก มีสูตรที่ใช้คำนวณหาค่าต่างๆได้เหมือนกับ Excel นอกจากนี้มันยังทำตัวเป็นตารางกริด (Data Grid) เพื่อจัดเก็บข้อมูลทั้งแบบอ่านและเขียนข้อมูลลงเซลล์ได้อย่างง่ายดาย แต่มันมีข้อด้อยคือ การจัดกลุ่มในแบบของตารางกริดจะทำได้ยาก ดังนั้นการจะฝึกใช้งาน FarPoint เราต้องมองตัวมันเป็นเหมือนกับ Excel นะครับ โค้ดนี้จึงนำเสนอการโหลด (หรือ Import) Worksheet จาก Excel มาแสดงผลบนตัว FarPoint เอาไว้ให้ได้ศึกษากันครับ ...
ดาวน์โหลดชุดติดตั้ง FarPoint Spread ActiveX และ Update 8.0.21 ล่าสุดจากผู้ผลิต (เฉพาะสมาชิกเท่านั้น)
หน้าตาการออกแบบ และเรียกใช้งาน Component ...
Project --> Components ... ให้เลือก FarPoint แบบ Unicode มาเพื่อให้แสดงผลภาษาไทยได้ถูกต้อง และ Common Dialog เพื่อการเรียกเปิดไฟล์ Excel ...
โค้ดในส่วนของการ Browse ไฟล์ Excel และทำการตรวจสอบฟอร์แมต ก่อนที่จะทำการโหลดเข้าสู่ FarPoint Spread
- Private Sub cmdOpenXLS_Click()
- On Error GoTo ErrorHandler ' Enable error-handling routine.
-
- Dim List() As String
- Dim ListCount As Integer
- Dim blnXLS As Boolean
-
- ReDim List(1)
-
- With dlgOpenFile
- .FileName = "*.xls"
- .DialogTitle = "Select Excel file to open"
- .Filter = "Excel 97-2003 files (*.xls)|*.xls"
- .FilterIndex = 0
- .InitDir = App.Path
- .Flags = cdlOFNHideReadOnly
- .ShowOpen
-
- If .FileName = "*.xls" Then Exit Sub
-
- txtFileXLS.Text = .FileName
- '/ GetExcelSheetList is a method and return boolean value.
- blnXLS = fp.GetExcelSheetList(.FileName, List, ListCount, "", fpHandle, True)
- End With
-
- cmbWorkSheet.Clear
- '/ Clear Rows
- fp.MaxRows = 0
- '/
- If blnXLS Then
- '/ Open XLS File
- fp.OpenExcel2007File txtFileXLS.Text, "", -1, -1, ""
- '/
- Me.cmbWorkSheet.AddItem ("")
- Dim i As Integer
- For i = 0 To ListCount - 1
- Me.cmbWorkSheet.AddItem (List(i))
- Next
- End If
-
- ExitProc:
- Exit Sub
-
- ErrorHandler: ' Error-handling routine.
- MsgBox "Error: " & Err.Number & vbCrLf & Err.Description
- Resume ExitProc
- End Sub
คัดลอกไปที่คลิปบอร์ด
โค้ดในการเลือก WorkSheet แล้วโหลดข้อมูลลงใน FarPoint Spread ...
- Private Sub cmbWorkSheet_Click()
- Dim lRet As Long
- If Not cmbWorkSheet.ListIndex = 0 Then
- lRet = fp.ImportExcelSheet(fpHandle, cmbWorkSheet.ListIndex - 1)
- End If
- End Sub
คัดลอกไปที่คลิปบอร์ด
โค้ดโปรแกรมทั้งหมด ...
- Option Explicit
- Dim fpHandle As Integer
- Private Sub cmbWorkSheet_Click()
- Dim lRet As Long
- If Not cmbWorkSheet.ListIndex = 0 Then
- lRet = fp.ImportExcelSheet(fpHandle, cmbWorkSheet.ListIndex - 1)
- End If
- End Sub
- Private Sub cmdExit_Click()
- Unload Me
- End Sub
- Private Sub cmdOpenXLS_Click()
- On Error GoTo ErrorHandler ' Enable error-handling routine.
-
- Dim List() As String
- Dim ListCount As Integer
- Dim blnXLS As Boolean
-
- ReDim List(1)
-
- With dlgOpenFile
- .FileName = "*.xls"
- .DialogTitle = "Select Excel file to open"
- .Filter = "Excel 97-2003 files (*.xls)|*.xls"
- .FilterIndex = 0
- .InitDir = App.Path
- .Flags = cdlOFNHideReadOnly
- .ShowOpen
-
- If .FileName = "*.xls" Then Exit Sub
-
- txtFileXLS.Text = .FileName
- '/ GetExcelSheetList is a method and return boolean value.
- blnXLS = fp.GetExcelSheetList(.FileName, List, ListCount, "", fpHandle, True)
- End With
-
- cmbWorkSheet.Clear
- '/ Clear Rows
- fp.MaxRows = 0
- '/
- If blnXLS Then
- '/ Open XLS File
- fp.OpenExcel2007File txtFileXLS.Text, "", -1, -1, ""
- '/
- Me.cmbWorkSheet.AddItem ("")
- Dim i As Integer
- For i = 0 To ListCount - 1
- Me.cmbWorkSheet.AddItem (List(i))
- Next
- End If
-
- ExitProc:
- Exit Sub
-
- ErrorHandler: ' Error-handling routine.
- MsgBox "Error: " & Err.Number & vbCrLf & Err.Description
- Resume ExitProc
- End Sub
- Private Sub Form_Load()
- txtFileXLS.Text = ""
- fp.MaxRows = 0
- End Sub
- Private Sub mnuExit_Click()
- Unload Me
- End Sub
- Private Sub Form_Resize()
- On Error Resume Next '/ <-- Form_Resize must have this for ignore any error.
- '//
- fraOpenExcel.Width = Me.ScaleWidth - 30
- fraFP.Width = fraOpenExcel.Width
- fraFP.Height = Me.ScaleHeight - fraFP.Top
- fp.Move 30, 240, Me.fraFP.Width - 90, fraFP.Height - 290
- cmdExit.Left = fraOpenExcel.Width - cmdExit.Width - 75
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- Set frmExcelImportFP = Nothing
- End
- End Sub
คัดลอกไปที่คลิปบอร์ด
Conclusion: จะเห็นว่าการนำเข้าข้อมูลจาก Excel เพื่อนำมาแสดงผลในตัว FarPoint Spread ไม่ได้ยากเย็นเลยแม้แต่น้อย และหลังจากที่รันโปรแกรม ผู้ใช้ก็จะเสมือนทำงานอยู่บน Excel ดีๆนี่เอง นั่นก็จะทำให้เกิด Friendly Use หรือเป็นมิตรต่อผู้ใช้ตามไปด้วย ทำให้แทบไม่ต้องฝึกฝนอบรมผู้ใช้งานเพิ่มเติมใดๆเลย แต่มันก็ขึ้นอยู่กับเราจะออกแบบให้โปรแกรมมันเดินไปทิศทางไหนด้วยล่ะครับ ... สวัสดี
ดาวน์โหลดโค้ดโปรแกรมฉบับเต็มได้ที่นี่ ...
|
ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง
คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน
x
|