VB6使用libxl讀寫Excel淺談(一)

日期:2019年11月18日
作者:Commas
註釋:學習就是爲了忘記,讓我們來了解一下一種無需安裝Microsoft Excel和.NET框架,直接調用libxl庫操作Excel的方法吧…


目錄


一、libxl的簡介及下載說明

(1)定義:
LibXL 是一個不依賴Microsoft Excel和.NET框架,可以直接讀取和寫入Excel文件的庫。該庫可以在C,C ++,C#,VB6,Delphi,Fortran,Python和其他語言中使用。其優點如下:

  1. 直接讀寫Excel文件;
  2. 簡單的互操作,不再依賴Excel;
  3. 高性能寫入

(2)下載:

  1. 百度搜索libxl
    在這裏插入圖片描述
  2. 進入libxl官網主頁
    在這裏插入圖片描述
  3. 進入libxl下載頁面
    在這裏插入圖片描述
  4. 解壓後文件的說明
    在這裏插入圖片描述
文件名稱 說明
bin 32位動態鏈接庫(非VB6所用庫)
bin64 64位動態鏈接庫(非VB6所用庫)
doc 函數說明的文檔,用C++講解的
examples 多種語言使用libxl的例子
include_c C的文件頭
include_cpp C++的文件頭
lib 32位微軟Visual C++的庫
lib64 64位微軟Visual C++的庫
net .NET使用的文件
stdcall 使用stdcall調用約定的32位動態庫(VB6可以調用的libxl庫)

二、VB6使用libxl庫操作Excel

  1. VB6示例libxl的說明
    在這裏插入圖片描述
  2. VB6示例源碼的解說
Option Explicit

Private Sub Form_Load()
On Error Resume Next

    Dim book As Long '存放操作Excel的指針
    Dim sheet As Long '存放操作當前sheet的指針

    '創建一個操作xls格式的Excel的一個實例(指針)
    book = xlCreateBook()     

    If book <> 0 Then
		'許可證綁定
		'license name:購買許可證的name
		'license key:購買許可證的key
		'Call xlBookSetKey(book,  "license name", "license key")
		
        '新增一個工作表sheet
        sheet = xlBookAddSheet(book, "Sheet1", 0)
        
        If sheet <> 0 Then
            '在新增的Sheet1中寫入數據
            
            '在Sheet1的第三行第二列單元格寫入字符串"Hello, World !"
            '(位置計算說明:3 = 2 + 1 , 2 = 1 + 1 )
            Call xlSheetWriteStr(sheet, 2, 1, "Hello, World !", 0)
            
            '在Sheet1的第四行第二列單元格寫入數值123.456
            '(位置計算說明:4 = 3 + 1 , 2 + 1 + 1)
            Call xlSheetWriteNum(sheet, 3, 1, 123.456, 0)
        End If
        
        '在sheetindex = 0 的工作表(Sheet1)
        '前面插入一個工作表MySheet2
        sheet = xlBookInsertSheet(book, 0, "MySheet2", 0)
        
        '在sheetindex = 1 的工作表(Sheet1)
        '前面插入一個工作表MySheet3
        sheet = xlBookInsertSheet(book, 1, "MySheet3", sheet)
        
        '計算該Excel總共有多少個工作表(sheet)
        Dim sheetCnt As Integer: sheetCnt = xlBookSheetCount(book)
        Me.Caption = "SheetCount = " & sheetCnt
        
        '刪除sheetindex = 1 的工作表(MySheet3)
        Call xlBookDelSheet(book, 1)
        
        '保存該Excel,並命名爲"example.xls"
        Call xlBookSave(book, "example.xls")
        
        '釋放操作Excel的資源
        Call xlBookRelease(book)

    End If

End Sub
  1. VB6示例無許可證的返回結果
    在這裏插入圖片描述
  2. VB6示例有許可證的返回結果
    在這裏插入圖片描述

三、libxl庫操作Excel的流程示意圖

xls格式
xlsx格式
Excel格式:xls or xlsx
xlCreateBook
xlCreateXMLBook
各種Excel操作
創建libxl對象(指針)
銷燬libxl對象

本文參考:
1、http://www.libxl.com/download.html
2、https://blog.csdn.net/zt_xcyk/article/details/72846042


版權聲明:本文爲博主原創文章,如需轉載,請給出:
原文鏈接:https://blog.csdn.net/qq_35844043/article/details/103116752

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章