javascript操作excel生成報表示例

字號:


    代碼如下:
    <html>
    <head>
    <script language="javascript" type="text/javascript">
    function MakeExcel(){
    var i,j;
    try {
    var xls = new ActiveXObject ( "Excel.Application" );
    }
    catch(e) {
    alert( "要打印該表,您必須安裝Excel電子表格軟件,同時瀏覽器須使用“ActiveX 控件”,您的瀏覽器須允許執(zhí)行控件。 請點擊【幫助】了解瀏覽器設置方法!");
    return "";
    }
    xls.visible =true; //設置excel為可見
    var xlBook = xls.Workbooks.Add;
    var xlsheet = xlBook.Worksheets(1);
    <!--合并-->
    xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,7)).mergecells=true;
    xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,7)).value="發(fā)卡記錄";
    // xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,6)).Interior.ColorIndex=5;//設置底色為藍色
    // xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,6)).Font.ColorIndex=4;//設置字體色
    // xlsheet.Rows(1). Interior .ColorIndex = 5 ;//設置底色為藍色 設置背景色 Rows(1).Font.ColorIndex=4
    <!--設置行高-->
    xlsheet.Rows(1).RowHeight = 25;
    <!--設置字體 ws.Range(ws.Cells(i0+1,j0), ws.Cells(i0+1,j1)).Font.Size = 13 -->
    xlsheet.Rows(1).Font.Size=14;
    <!--設置字體 設置選定區(qū)的字體 xlsheet.Range(xlsheet.Cells(i0,j0), ws.Cells(i0,j0)).Font.Name = "黑體" -->
    xlsheet.Rows(1).Font.Name="黑體";
    <!--設置列寬 xlsheet.Columns(2)=14;-->
    xlsheet.Columns("A:D").ColumnWidth =18;
    <!--設置顯示字符而不是數字-->
    xlsheet.Columns(2).NumberFormatLocal="@";
    xlsheet.Columns(7).NumberFormatLocal="@";
    //設置單元格內容自動換行 range.WrapText = true ;
    //設置單元格內容水平對齊方式 range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//設置單元格內容豎直堆砌方式
    //range.VerticalAlignment=Excel.XlVAlign.xlVAlignCenter
    //range.WrapText = true; xlsheet.Rows(3).WrapText=true 自動換行
    //設置標題欄
    xlsheet.Cells(2,1).Value="卡號";
    xlsheet.Cells(2,2).Value="密碼";
    xlsheet.Cells(2,3).Value="計費方式";
    xlsheet.Cells(2,4).Value="有效天數";
    xlsheet.Cells(2,5).Value="金額";
    xlsheet.Cells(2,6).Value="所屬服務項目";
    xlsheet.Cells(2,7).Value="發(fā)卡時間";
    var oTable=document.all['fors:data'];
    var rowNum=oTable.rows.length;
    for(i=2;i<=rowNum;i++){
    for (j=1;j<=7;j++){
    //html table類容寫到excel
    xlsheet.Cells(i+1,j).Value=oTable.rows(i-1).cells(j-1).innerHTML;
    }
    }
    <!-- xlsheet.Range(xls.Cells(i+4,2),xls.Cells(rowNum,4)).Merge; -->
    // xlsheet.Range(xlsheet.Cells(i, 4), xlsheet.Cells(i-1, 6)).BorderAround , 4
    // for(mn=1,mn<=6;mn++) . xlsheet.Range(xlsheet.Cells(1, mn), xlsheet.Cells(i1, j)).Columns.AutoFit;
    xlsheet.Columns.AutoFit;
    xlsheet.Range( xlsheet.Cells(1,1),xlsheet.Cells(rowNum+1,7)).HorizontalAlignment =-4108;//居中
    xlsheet.Range( xlsheet.Cells(1,1),xlsheet.Cells(1,7)).VerticalAlignment =-4108;
    xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Font.Size=10;
    xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(3).Weight = 2; //設置左邊距
    xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(4).Weight = 2;//設置右邊距
    xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(1).Weight = 2;//設置頂邊距
    xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(2).Weight = 2;//設置底邊距
    xls.UserControl = true; //很重要,不能省略,不然會出問題 意思是excel交由用戶控制
    xls=null;
    xlBook=null;
    xlsheet=null;
    }
    </script> <link href="css/styles3.css" rel="stylesheet" type="text/css"/>
    <title>ziyuanweihu</title>
    </head>
    <body>
    <form id="fors" method="post" action="/WebModule/admins/card/showcard.faces" enctype="application/x-www-form-urlencoded">
    <table id="fors:top" cellpadding="0" cellspacing="0">
    <tbody>
    <tr>
    <td><img src="images/jiao1.gif" /></td>
    <td></td>
    <td><img src="images/jiao2.gif" /></td>
    </tr>
    </tbody>
    </table>
    <table cellpadding="0" cellspacing="0">
    <tbody>
    <tr>
    <td></td>
    <td><table id="fors:sort" cellpadding="0" cellspacing="0">
    <tbody>
    <tr>
    <td><input type="button" name="fors:_id7" value="生成excel文件" onclick="MakeExcel()" /><input type="submit" name="fors:_id8" value="返回" /></td>
    </tr>
    </tbody>
    </table>
    <table id="fors:data" cellpadding="0" cellspacing="1">
    <thead>
    <tr>
    <th scope="col"><span id="fors:data:headerText1">卡號</span></th>
    <th scope="col"><span id="fors:data:headerText2">密碼</span></th>
    <th scope="col"><span id="fors:data:headerText3">計費方式</span></th>
    <th scope="col"><span id="fors:data:headerText4">有效天數</span></th>
    <th scope="col">金額</th>
    <th scope="col"><span id="fors:data:headerText6">所屬服務項目</span></th>
    <th scope="col"><span id="fors:data:headerText7">發(fā)卡時間</span></th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>h000010010</td>
    <td>543860</td>
    <td>計點</td>
    <td></td>
    <td>2.0</td>
    <td>測試項目</td>
    <td>2006-06-23 10:14:40.843</td>
    </tr>
    <tr>
    <td>h000010011</td>
    <td>683352</td>
    <td>計點</td>
    <td></td>
    <td>2.0</td>
    <td>測試項目</td>
    <td>2006-06-23 10:14:40.843</td>
    </tr>
    <tr>
    <td>h000010012</td>
    <td>433215</td>
    <td>計點</td>
    <td></td>
    <td>2.0</td>
    <td>測試項目</td>
    <td>2006-06-23 10:14:40.843</td>
    </tr>
    <tr>
    <td>h000010013</td>
    <td>393899</td>
    <td>計點</td>
    <td></td>
    <td>2.0</td>
    <td>測試項目</td>
    <td>2006-06-23 10:14:40.843</td>
    </tr>
    <tr>
    <td>h000010014</td>
    <td>031736</td>
    <td>計點</td>
    <td></td>
    <td>2.0</td>
    <td>測試項目</td>
    <td>2006-06-23 10:14:40.843</td>
    </tr>
    <tr>
    <td>h000010015</td>
    <td>188600</td>
    <td>計點</td>
    <td></td>
    <td>2.0</td>
    <td>測試項目</td>
    <td>2006-06-23 10:14:40.843</td>
    </tr>
    <tr>
    <td>h000010016</td>
    <td>363407</td>
    <td>計點</td>
    <td></td>
    <td>2.0</td>
    <td>測試項目</td>
    <td>2006-06-23 10:14:40.843</td>
    </tr>
    <tr>
    <td>h000010017</td>
    <td>175315</td>
    <td>計點</td>
    <td></td>
    <td>2.0</td>
    <td>測試項目</td>
    <td>2006-06-23 10:14:40.843</td>
    </tr>
    <tr>
    <td>h000010018</td>
    <td>354437</td>
    <td>計點</td>
    <td></td>
    <td>2.0</td>
    <td>測試項目</td>
    <td>2006-06-23 10:14:40.843</td>
    </tr>
    <tr>
    <td>h000010019</td>
    <td>234750</td>
    <td>計點</td>
    <td></td>
    <td>2.0</td>
    <td>測試項目</td>
    <td>2006-06-23 10:14:40.843</td>
    </tr>
    </tbody>
    </table>
    </td>
    <td></td>
    </tr>
    </tbody>
    </table>
    <table id="fors:bottom" cellpadding="0" cellspacing="0">
    <tbody>
    <tr>
    <td>
    <img src="images/jiao3.gif"/>
    </td>
    <td> </td>
    <td>
    <img src="images/jiao4.gif"/>
    </td>
    </tr>
    </tbody>
    </table>
    <input type="hidden" name="fors" value="fors" /></form>
    </body>
    </html>