將兩個excel文件合並到一個新的Excel文件中


1、首先需要安裝autoit,這個網上應該有很多

2、創建兩個文件,里邊寫一些東西

3、腳本編寫

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.14.5
 Author:         myName

 Script Function:
    Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here
#include <Excel.au3>
#include <MsgBoxConstants.au3>
#include-once
#include "Array.au3"
#include "ExcelConstants.au3"

Local $oExcel = _Excel_Open()
Local $filePath = $CmdLine[1]
Local $oWorkBook = _Excel_BookOpen($oExcel,$filePath)

Local $targetPath = $CmdLine[2]
Local $oWorkBook1 = _Excel_BookOpen($oExcel,$targetPath)


Local $oWorkBook2 = _Excel_BookNew($oExcel,Default)


Local $oSheetList = _Excel_SheetList($oWorkBook)

Dim $i

For $i=1 To UBound($oSheetList)
   Local $oSheet = _Excel_SheetCopyMove($oWorkbook,$i,$oWorkBook2,$i,False,Default)
   $oSheet.Name = "a" & $i
Next

Local $oSheetList1 = _Excel_SheetList($oWorkBook1)

;_Excel_BookSaveAs($oWorkBook2,"d:/merge.xls")

Dim $j
For $j=1 To UBound($oSheetList1)
   $toIndex = UBound($oSheetList) + $j
   Local $oSheet1 = _Excel_SheetCopyMove($oWorkbook1,$j,$oWorkBook2,$toIndex,False,Default)
   $oSheet1.Name = "a" & $toIndex
Next

_Excel_BookSaveAs($oWorkBook2,"d:/merge.xls")

_Excel_SheetDelete($oWorkBook2,1);

_Excel_Close($oExcel)

MsgBox(64,"提示","執行完成")

4、按照本機的位數,編譯成相關的exe文件

 

 

5、最后進入到cmd,執行xxx.exe d:/source.xls d:/target.xls

 

 

合並后的文件路徑腳本里有寫

 

 合並后的文件

 

補充:

將多個Excel文件合並到一個文件中

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.14.5
 Author:         myName

 Script Function:
    Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here
#include <Excel.au3>
#include-once
#include "Array.au3"
#include "ExcelConstants.au3"

Local $source = $CmdLine[1]

Local $sourceArray = StringSplit($source,",")

Local $target = $CmdLine[2]

Local $oExcel = _Excel_Open()

Local $tWorkBook = _Excel_BookNew($oExcel,Default)

Dim $sum = 0

For $i = 1 To $sourceArray[0]
     Local $item = $sourceArray[$i]
     Local $itemWorkBook = _Excel_BookOpen($oExcel,$item)
     Local $itemSheetList = _Excel_SheetList($itemWorkBook)
     For $j = 1 To UBound($itemSheetList)
         $toIndex = $sum + 1
         Local $itemSheet = _Excel_SheetCopyMove($itemWorkBook,$j,$tWorkBook,$toIndex,False,Default)
         $itemSheet.Name = "a" & $toIndex
         $sum = $sum + 1
      Next
Next


_Excel_BookSaveAs($tWorkBook,$target)

_Excel_SheetDelete($tWorkBook,1)

_Excel_Close($oExcel)

 

 執行方式

 

大致流程:就是將第一個參數切割成數組,然后循環添加到新創建的Excel文件中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM