閱讀976 返回首頁    go 阿裏雲 go 技術社區[雲棲]


碼棧開發手冊(四)---編碼方式開發(EXCEL處理相關函數)

7.1 J_Excel_Create([是否可見:否])

作用:新建Excel並返回對象 是否可見:是/否 創建的excel是否可見
返回值:Excel對象
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.2 J_Excel_Open(文件路徑, [是否可見:否], [隻讀:否],[文件密碼], [設置密碼])

作用:打開一個Excel文件並返回對象
返回值:Excel對象
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.3 J_Excel_Close(Excel對象, [默認保存:是])

作用:關閉Excel
返回值:成功返回1,失敗返回0
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.4 J_Excel_Save(Excel對象,[另存路徑])

作用:保存或者另存當前Excel文件,當不輸入另存路徑的時候就是保存當前已打開的Excel
返回值:成功返回1,失敗返回0
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.5 J_Excel_Write(Excel對象, 第幾行, 第幾列, 要寫入的數據, [Sheet名稱])

作用:向Excel指定Sheet寫入數據(文本格式),注:sheet名稱為空的時候是向當前激活Sheet中寫入
返回值:成功返回1,失敗返回0
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.6 J_Excel_Read(Excel對象, 第幾行, 第幾列, [Sheet名稱])

作用:向Excel指定Sheet讀取數據,注:sheet名稱為空的時候是向當前激活Sheet中讀取
返回值:成功返回相應單元格的數據,失敗返回空””
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.7 J_Excel_CopySell(Excel對象, 起始單元格行, 起始單元格列,結束單元格行, 結束單元格列,[Sheet名稱])

作用:向Excel指定Sheet複製數據,注:sheet名稱為空的時候是向當前激活Sheet中複製
返回值:成功返回1,失敗返回0
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.8 J_Excel_PasteSell(Excel對象, 單元格行, 單元格列, [Sheet名稱])

作用:向Excel指定Sheet粘貼數據,注:sheet名稱為空的時候是向當前激活Sheet中粘貼
返回值:成功返回1,失敗返回0
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.9 J_Excel_MaxCount(Excel對象,[Sheet名稱])

作用:獲取Excel表格中指定Sheet的數據行數,注:sheet名稱為空的時候是獲取當前激活Sheet中的行數
返回值:成功返回Excel表格的行數,失敗返回0
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.10 J_Excel_MaxCol(Excel對象,[Sheet名稱])

作用:獲取Excel表格中指定Sheet的數據列數,注:sheet名稱為空的時候是獲取當前激活Sheet中的列數
返回值:成功返回Excel表格的列數,失敗返回0
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.11 J_Excel_DeleteSheet(Excel對象,Sheet名稱)

作用:刪除Excel表格中指定的Sheet
返回值:成功返回1,失敗返回0
例子:

Func Example38()
    ;新創建一個Excel,可見
    Local $excel1 = J_Excel_Create("是")
    ;在後台打開Excel,不可見
    Local $excel2 = J_Excel_Open("D:\1.xlsx", "否")
    J_Excel_Write($excel1, 1, 1, "hello", "new_sheet")
    ;Excel表格一共有多少行
    Local $maxrow = J_Excel_MaxCount($excel2, "sheet1")
    ;Excel中一共有多少列
    Local $maxcol = J_Excel_MaxCol($excel2, "sheet1")
    ;拷貝數據,從1行1列到最大行最大列
    J_Excel_CopySell($excel2, 1, 1, $maxrow, $maxcol, "sheet1")
    ;粘貼數據
    J_Excel_PasteSell($excel1, 1, 1, "new2_sheet")
    ;讀取Excel1中new2_sheet中的第2行第3列
    Local $string = J_Excel_Read($excel1, 2, 3, "new2_sheet")
    ;信息框顯示出讀取的數據
    J_MsgBox($string)
    ;刪除Excel1的sheet1
    J_Excel_DeleteSheet($excel1, "sheet1")
    ;將Excel1保存至D:\2.xlsx
    J_Excel_Save($excel1, "D:\2.xlsx")
    ;關閉Excel1,保存
    J_Excel_Close($excel1)
    ;關閉Excel2,不保存
    J_Excel_Close($excel2, "否")
EndFunc   ;==>Example38

7.12 J_Excel_GetSheetNames(Excel對象,序號=0)

作用:獲取Excel表格中指定的Sheet個數和名稱 返回值:當序號為0的時候返回sheet的個數,當序號值大於0的時候返回sheet所對應的名稱 例子:

Func Example50()
    ;定義一個局域變量$excel,用於保存打開的Excel表格對象。Excel表格打開後處於可見狀態
    Local $excel = J_Excel_Open("E:\數據.xlsx", "是")
    ;定義一個局域變量,用於保存$excel對象中Sheet的個數
    Local $res = J_Excel_GetSheetNames($excel, 0)
    ;創建一個循環,從1到Sheet的最大值,用於遍曆每一個Sheet的名字
    For $i = 1 To $res
        ;定義一個局域變量$name,用於保存$i個Sheet的名字
        Local $name = J_Excel_GetSheetNames($excel, $i)
        ;彈出一個提示框,顯示當前是第幾個sheet和sheet的名字
        J_MsgBox($name, "第" & $i & "個")
    Next
EndFunc   ;==>Example50


本文轉自碼棧平台

最後更新:2017-05-13 08:46:41

  上一篇:go  碼棧開發手冊(四)---編碼方式開發(其他功能函數)
  下一篇:go  碼棧開發手冊(四)---編碼方式開發(字符串處理相關函數)