各位大虾好:
在JS脚本中,用以下代码可以打开本地的XLS文件。
var oXL = new ActiveXObject("Excel.application"); 
var oWB = oXL.Workbooks.open(filePath); 现在的问题是:如何打开服务器端的EXCEL文件呢?打开文件后,再向文件中写入数据,以实现打印功能。开发环境:WEBLOGIC+JDK1.5

解决方案 »

  1.   


    <script language=javascript>//借鉴VBA控制excel,word的方法,javascript与vbs都可以仿照进行  wangtao  2005.11.23
    function MakeExcel(){     var objXL;    try {
          objXL = new ActiveXObject( "Excel.Application" );
         }
        catch(e) {
             alert("Excel对象无法创建");
             return;
         }
         objXL.Visible = true;
             
         var xlBook = objXL.Workbooks.Add; //新增 //var xlBook =
         objXL.Workbooks.Open("c:\\test.xls"); //打开本地文件 //var xlBook =
         objXL.Workbooks.Open("http://10.167.180.163:8080/test/test.xls");
         //打开网络模版文件
         
         var xlsheet = xlBook.Worksheets(1);
       
      objXL.Columns(1).ColumnWidth = 10;
     objXL.Columns(2).ColumnWidth = 15;
     objXL.Columns(3).ColumnWidth = 20;
     
     objXL.Cells(1, 1).Value = "Property Name";
     objXL.Cells(1, 2).Value = "Value";
     objXL.Cells(1, 3).Value = "Description";
     
     objXL.Range("A1:C1").Select;
     objXL.Selection.Font.Bold = true;
     objXL.Selection.Interior.ColorIndex = 1;
     objXL.Selection.Interior.Pattern = 1;  //xlSolid
     objXL.Selection.Font.ColorIndex = 2;
     
     objXL.Selection.HorizontalAlignment = -4108;// ' xlLeft
     
     objXL.Range("A3:F5").Select;
     
     objXL.Selection.Borders.LineStyle = 1;
     objXL.Selection.Borders.Weight = -4138;
     objXL.Selection.Borders(11).LineStyle = -4142;
     objXL.Selection.Borders(12).LineStyle = -4142;
     objXL.Selection.Interior.ColorIndex = 0; 
     
     for(i=3;i<5;i++) {
      for(j=1;j<5;j++) {   xlsheet.Cells(i, j).Value = i*j;
       xlsheet.Cells(i, j).Font.ColorIndex = 3;
       xlsheet.Cells(i, j).Font.Bold = true;
       xlsheet.Cells(i, j).Interior.ColorIndex = 30;
       xlsheet.Cells(i, j).Font.ColorIndex = 2;
      }
     }
     
     objXL.Range("a7", objXL.Cells(12, 9)).Borders.Weight = -4138;//  '边框
     
     //合并单元格
     objXL.Range("a13:e16").MergeCells = true;
            objXL.Range("a13:e16").Value = "工区、所(工段)名称:" + "11";
            objXL.Range("a13:e16").select;
            objXL.Selection.VerticalAlignment = -4108;          //'xlVAlignCenter   竖向居中
            objXL.Selection.HorizontalAlignment = -4108;        //'xlHAlignCenter   横向居中
            //const 值需要在vba编辑环境中f2调出objectbrowser,然后再其中查找‘xlVAlignCenter’,就能找到对应的const值
            xlBook.SaveAs("C:\\test_script1234.xls");
       
           xlBook.Close(savechanges=false);
         objXL.Visible = false;   
       
         //xlBook.PrintOut   打印,可以利用后台excel完成打印,而用户并不知道
     objXL.Quit();
     objXL=null;
     
         //结束excel进程,退出完成
    }
    </script>
    <html><body>
    <script language="javascript">
      MakeExcel();
    </script>
    </body>
    </html>