这个问题我曾经也问过的,也有个高手说过,但是具体中间有一些错的东西,希望能对你有用
要是全搞定了也告诉我啊
http://expert.csdn.net/Expert/topic/2529/2529010.xml?temp=.5031549

解决方案 »

  1.   

    收藏的..<HTML> 
    <BODY> 
    Press the button to start Excel and display quarterly data. 
    <SCRIPT LANGUAGE="VBScript"> 
    Function CreateNamesArray() 
    ' Create an array to set multiple values at once. 
      Dim saNames(5, 2) 
      saNames(0, 0) = "John" 
      saNames(0, 1) = "Smith" 
      saNames(1, 0) = "Tom" 
      saNames(1, 1) = "Brown" 
      saNames(2, 0) = "Sue" 
      saNames(2, 1) = "Thomas" 
      saNames(3, 0) = "Jane" 
      saNames(3, 1) = "Jones" 
      saNames(4, 0) = "Adam" 
      saNames(4, 1) = "Johnson" 
      CreateNamesArray = saNames 
    End Function 
    </SCRIPT> <SCRIPT LANGUAGE="JScript"> 
    function AutomateExcel() 

       // Start Excel and get Application object. 
          var oXL = new ActiveXObject("Excel.Application"); 
            
          oXL.Visible = true; 
           
       // Get a new workbook. 
          var oWB = oXL.Workbooks.Add(); 
          var oSheet = oWB.ActiveSheet; 
              
       // Add table headers going cell by cell. 
          oSheet.Cells(1, 1).Value = "First Name"; 
          oSheet.Cells(1, 2).Value = "Last Name"; 
          oSheet.Cells(1, 3).Value = "Full Name"; 
          oSheet.Cells(1, 4).Value = "Salary"; 
              
       // Format A1:D1 as bold, vertical alignment = center. 
          oSheet.Range("A1", "D1").Font.Bold = true; 
          oSheet.Range("A1", "D1").VerticalAlignment =  -4108; //xlVAlignCenter 
              
       // Create an array to set multiple values at once.    // Fill A2:B6 with an array of values (from VBScript). 
          oSheet.Range("A2", "B6").Value = CreateNamesArray(); 
          
       // Fill C2:C6 with a relative formula (=A2 & " " & B2). 
          var oRng = oSheet.Range("C2", "C6"); 
          oRng.Formula = "=A2 & \" \" & B2"; 
              
       // Fill D2:D6 with a formula(=RAND()*100000) and apply format. 
          oRng = oSheet.Range("D2", "D6"); 
          oRng.Formula = "=RAND()*100000"; 
          oRng.NumberFormat = "$0.00"; 
              
       // AutoFit columns A:D. 
          oRng = oSheet.Range("A1", "D1"); 
          oRng.EntireColumn.AutoFit(); 
              
       // Manipulate a variable number of columns for Quarterly Sales Data. 
          DispalyQuarterlySales(oSheet); 
             
       // Make sure Excel is visible and give the user control 
       // of Excel's lifetime. 
          oXL.Visible = true; 
          oXL.UserControl = true; 

           
    function DispalyQuarterlySales(oWS) 

          var iNumQtrs, sMsg, iRet;     // Number of quarters to display data for. 
          iNumQtrs = 4; 
                    
        // Starting at E1, fill headers for the number of columns selected. 
          var oResizeRange = oWS.Range("E1", "E1").Resize(1,iNumQtrs); 
          oResizeRange.Formula = "=\"Q\" & COLUMN()-4 & CHAR(10) & \"Sales\""; 
              
        // Change the Orientation and WrapText properties for the headers. 
          oResizeRange.Orientation = 38; 
          oResizeRange.WrapText = true; 
              
        // Fill the interior color of the headers. 
          oResizeRange.Interior.ColorIndex = 36; 
              
        // Fill the columns with a formula and apply a number format. 
          oResizeRange = oWS.Range("E2", "E6").Resize(5,iNumQtrs); 
          oResizeRange.Formula = "=RAND()*100"; 
          oResizeRange.NumberFormat = "$0.00"; 
              
        // Apply borders to the Sales data and headers. 
          oResizeRange = oWS.Range("E1", "E6").Resize(6,iNumQtrs); 
          oResizeRange.Borders.Weight = 2;  // xlThin 
              
        // Add a Totals formula for the sales data and apply a border. 
          oResizeRange = oWS.Range("E8", "E8").Resize(1,iNumQtrs); 
          oResizeRange.Formula = "=SUM(E2:E6)"; 
        // 9 = xlEdgeBottom       
          oResizeRange.Borders(9).LineStyle = -4119; //xlDouble 
          oResizeRange.Borders(9).Weight = 4; //xlThick 
              
        // Add a Chart for the selected data. 
          oResizeRange = oWS.Range("E2:E6").Resize(5,iNumQtrs); 
          var oChart = oWS.Parent.Charts.Add(); 
          oChart.ChartWizard(oResizeRange, -4100, null, 2);  // -4100 = xl3dColumn 
          oChart.SeriesCollection(1).XValues = oWS.Range("A2", "A6"); 
          for (iRet = 1; iRet <= iNumQtrs; iRet++) { 
             oChart.SeriesCollection(iRet).Name = "=\"Q" + iRet + "\""; 
          } 
          oChart.Location(2, oWS.Name); // 2 = xlLocationAsObject 
              
        // Move the chart so as not to cover your data. 
          oWS.Shapes("Chart 1").Top = oWS.Rows(10).Top; 
          oWS.Shapes("Chart 1").Left = oWS.Columns(2).Left; 

    </SCRIPT> 
    <P><INPUT id=button1 type=button value="Start Excel" 
              onclick="AutomateExcel"></P> 
    </BODY> 
    </HTML>