2016-03-15 78 views
0
var myApp = new ActiveXObject("Excel.Application"); 
       myApp.visible = true; 
       var myWorkbook;    
      var xlCellTypeLastCell = 11; 
       myObject = new ActiveXObject("Scripting.FileSystemObject"); 
        if(myObject.FileExists("xyz.xlsx")){ 
       myWorkbook = myApp.Workbooks.Open("xyz.xlsx"); 
           } 
       else{ 

        myWorkbook=myApp.Workbooks.Add(); 
        } 

       var myWorksheet = myWorkbook.Worksheets(1); 

       myWorksheet.Activate; 

       objRange = myWorksheet.UsedRange; 

       objRange.SpecialCells(xlCellTypeLastCell).Activate ; 

       newRow = myApp.ActiveCell.Row + 1; 

       strNewCell = "A" + newRow; 

       myApp.Range(strNewCell).Activate; 

       myWorksheet.Cells(newRow,1).value=document.getElementById("table1").rows[1].cells.item(0).innerHTML;    myWorksheet.Cells(newRow,2).value=document.getElementById("table1").rows[1].cells.item(4).innerHTML;  
     myWorksheet.Cells(newRow,3).value=document.getElementById("table1").rows[1].cells.item(5).innerHTML; 

       myWorkbook.SaveAs("xyz.xlsx"); 

       myApp.Quit(); 

上面的代碼將Excel的第一次,在第二循環中它會彈出窗口要求手動保存,我試圖自動保存文件,而無需人工干預。保存Excel文件使用Java腳本

+0

你不能。您需要向用戶提供保存對話框。 –

回答

0

您需要暫時關閉顯示警報。這是在VBA中。將其更改爲使用對myApp

Application.DisplayAlerts = False 
' save here 
Application.DisplayAlerts = True 

的DisplayAlerts文件很短,值得一讀:https://msdn.microsoft.com/en-us/library/office/ff839782.aspx

+0

它工作。謝謝。 – swe

+0

樂意提供幫助。如果提出的答案符合您的要求,則通常將其投票並將其標記爲已接受。 – MikeC