2016-03-15 79 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