none
C(#)如何将指定的asp页面<table>导出到excel? RRS feed

  • 问题

  • C(#)如何将指定的asp页面<table>导出到excel?
    并且能够弹出一个保存路径的对话框(就像saveFileDialog一样)。
    • 已移动 孟宪会Moderator 2009年6月5日 7:06 ([Loc]From:.NET Framework 一般性问题讨论区)
    2009年6月5日 6:01

答案

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><title>
    	无标题页
    </title>
        <style type="text/css">
    
    .s8 {
     font-family: Arial;
     font-size: 12px;
     color: #000000; font-style: normal;
     background-color: transparent;
     border-color:#FFFFFF; border-style: solid;
     border-left-width: 1px;
     border-right-width: 1px;
     border-top-width: 1px;
     border-bottom-width: 1px;
     line-height:20px;
    }
    .s9 {
     font-family: Arial;
     font-size: 14px;
     color: #000000; font-style: normal;
     background-color: transparent;
     border-color:#FFFFFF; border-style: solid;
     border-left-width: 1px;
     border-right-width: 1px;
     border-top-width: 1px;
     border-bottom-width: 1px;
     font-weight: bold;
      line-height:25px;
    }
    .s7 {
     vertical-align:middle;
     text-align:left;
    }
    <!--
    .style1 {
    	font-size: 14px;
    	font-weight: bold;}
    .input{border:1px solid #cccccc;
    background-color:#f8f8F8;}
    textarea{background-color:#f8f8F8}
    
    -->
    #blo{background-color:#888;position:absolute;color:#fff}
    #blo ul{margin:5px;}
    #blo li{cursor:pointer;}
    ul{list-style:none;}
    *{margin:0px;padding:0px;}
    </style>
    <script type="text/javascript" >
    
    function gethtml()
    {
        var fTableElement,strcell,rows,cols,style,excelstr;
        
        fTableElement = document.getElementById("energyinfo");
    
        excelstr = "<html><head><!--<xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>工作表标题</x:Name><x:WorksheetOptions><x:print><x:ValidPrinterInfo /></x:print></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head>";
        excelstr += "<table border='1'>";
    
        for (i = 0; i < fTableElement.rows.length; i++)
        {
            excelstr += "<tr>";
            for (j = 0; j < fTableElement.rows[i].cells.length; j++)
            {
                rows = fTableElement.rows[i].cells[j].rowSpan;
                cols = fTableElement.rows[i].cells[j].colSpan;
                style = fTableElement.rows[i].cells[j].align;
                excelstr += "<td colspan=" + cols + " rowspan=" + rows + " align=" + style + ">";
                
                for(k = 0; k < fTableElement.rows(i).cells(j).children.length;k++){
                    if(fTableElement.rows(i).cells(j).children[k].type == undefined){
                        excelstr += fTableElement.rows(i).cells(j).children[k].innerText;
                    }else{
                        excelstr += fTableElement.rows(i).cells(j).children[k].value;
                    }
                }
                excelstr += "</td>";
            }
            excelstr += "</tr>";
        }
        excelstr += "</table></html>";
        
        return excelstr;
    }
    
    function ExportToExcel(){
    var str;
    str = gethtml();
    //window.clipboardData.setData("Text",document.all('energyinfo').outerHTML);   
    try
    {   
    var ExApp = new ActiveXObject("Excel.Application");
    var ExWBk = ExApp.workbooks.add();
    var ExWSh = ExWBk.worksheets(1);   
    ExApp.DisplayAlerts = false;
    ExWSh.Columns("A").ColumnWidth = 9;
    ExWSh.Columns("B").ColumnWidth = 9;
    ExWSh.Columns("C").ColumnWidth = 25;
    ExWSh.Columns("D").ColumnWidth = 15;
    ExWSh.Columns("E").ColumnWidth = 28;
    }     
    catch(e)   
    {
    alert("您的电脑没有安装Microsoft Excel软件!");   
    return false;
    }
      window.clipboardData.setData("Text",str);
      ExWBk.worksheets(1).Paste; 
      ExApp.visible = true;  
    }
    </script>
    <link href="../App_Themes/default/styles.css" type="text/css" rel="stylesheet" /></head>
    <body onload ="getTMonth('statisticsyear','statisticsMonth')">
        <form name="form1" method="post" action="DataSearch.aspx" id="form1">
    <div>
            <table id ="menu" width="100%" border="0">
                <tr style="vertical-align:top" >
                    <td id="_left" style="width:30%" align ="center">
                        <input type ="button" id ="saveexcel1" value="导出Excel"  onclick ="ExportToExcel()" />
                    </td>
                    <td id ="main" style="width:100%">
                        <table id="energyinfo" cellspacing="0" cellpadding="0" border="0" bgcolor="#E7E7E7" border="0" style="width:100%;border-collapse:collapse;display:inline">
    	<tr id="TableRow1">
    		<td id="TableCell1" align="center" class="s9" colspan="5"><span id="Label2">一、基本信息</span></td>
    	</tr><tr id="TableRow2">
    		<td id="TableCell2" align="left" class="s8" colspan="3"><span id="Label1">单位名称:</span><input name="companyName" type="text" value="中国移动" readonly="readonly" id="companyName" style="width:140px;" /></td><td id="TableCell3" align="right" class="s8" colspan="2"><span id="Label3">联系电话:</span><input name="statisticsYM" type="text" value="010-00000000" readonly="readonly" id="statisticsYM" style="width:90px;" /></td>
    	</tr><tr id="TableRow3">
    		<td id="TableCell4" align="left" class="s8" colspan="3"><span id="Label4">建筑面积:</span><input name="jianzhuMianJi" type="text" value="80009.00" readonly="readonly" id="jianzhuMianJi" style="width:70px;" /><span id="Label6">平方米</span></td><td id="TableCell5" align="right" class="s8" colspan="2"><span id="Label5">单位人数:</span><input name="yongNengRenshu" type="text" value="10008" readonly="readonly" id="yongNengRenshu" style="width:90px;" /></td>
    	</tr><tr id="TableRow4">
    		<td id="TableCell6" align="center" class="s9" colspan="5"><span id="Label7">二、情况</span></td>
    	</tr><tr id="TableRow5">
    		<td id="TableCell7" align="center" class="s8" colspan="3" style="width:50%"><span id="Label8">甲</span></td><td id="TableCell8" align="center" class="s8" style="width:20%"><span id="Label9">乙</span></td><td id="TableCell9" align="center" class="s8" style="width:30%"><span id="Label10">备注</span></td>
    	</tr><tr id="TableRow6">
    		<td id="TableCell10" align="center" class="s8" rowspan="8" style="width:10%"><span id="Label11">A</span></td><td id="TableCell11" align="center" class="s8" colspan="2"><span id="Label12">B</span></td><td id="TableCell12" align="center" class="s8"><input name="zongDian" type="text" value="100" readonly="readonly" id="zongDian" style="width:90px;" /></td><td id="TableCell13" class="s8">
    &nbsp;                            </td>
    	</tr><tr id="TableRow7">
    		<td id="TableCell14" align="center" class="s8" colspan="2"><span id="Label13">C</span></td><td id="TableCell15" align="center" class="s8"><input name="zongFeiYong" type="text" value="101" readonly="readonly" id="zongFeiYong" style="width:90px;" /></td><td id="TableCell16" class="s8">
    &nbsp;                            </td>
    	</tr><tr id="TableRow8">
    		<td id="TableCell17" align="center" class="s8" rowspan="6" style="width:15%"><span id="Label14">D</span></td><td id="TableCell18" align="right" class="s8" style="width:25%"><span id="Label15">E</span></td><td id="TableCell19" align="center" class="s8"><input name="zhaoMingDian" type="text" value="11" readonly="readonly" id="zhaoMingDian" style="width:90px;" /></td><td id="TableCell20" class="s8" rowspan="6"><span id="Label20">注:</span></td>
    	</tr><tr id="TableRow9">
    		<td id="TableCell21" align="right" class="s8"><span id="Label16">F</span></td><td id="TableCell22" align="center" class="s8"><input name="kongTiaoDian" type="text" value="12" readonly="readonly" id="kongTiaoDian" style="width:90px;" /></td>
    	</tr><tr id="TableRow10">
    		<td id="TableCell23" align="right" class="s8"><span id="Label17">G</span></td><td id="TableCell24" align="center" class="s8"><input name="banGongdian" type="text" value="13" readonly="readonly" id="banGongdian" style="width:90px;" /></td>
    	</tr><tr id="TableRow11">
    		<td id="TableCell25" align="right" class="s8"><span id="Label108">H</span></td><td id="TableCell26" align="center" class="s8"><input name="dianTiDian" type="text" value="14" readonly="readonly" id="dianTiDian" style="width:90px;" /></td>
    	</tr><tr id="TableRow12">
    		<td id="TableCell27" align="right" class="s8"><span id="Label18">I</span></td><td align="center" class="s8"><input name="zhuanYeSheBeiDian" type="text" value="15" readonly="readonly" id="zhuanYeSheBeiDian" style="width:90px;" /></td>
    	</tr><tr>
    		<td align="right" class="s8"><span id="Label19">J</span></td><td align="center" class="s8"><input name="qiTaDian" type="text" value="35" readonly="readonly" id="qiTaDian" style="width:90px;" /></td>
    	</tr>
    </table> 
                     </td>
                </tr>
            </table> 
    </form>
    </body>
    </html>



    综合大家的知识。得出了比较完美的excel出力代码。

    希望大家能够完善代码,让单元格格式也出力。

    让大家齐分享。
    学习,学习,再学习 = 成功!
    2009年6月8日 4:45

全部回复

  • 你好,下面是通过 Excel 组件实现
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="X200906011053.aspx.cs" Inherits="Grid_X200906011053" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type="text/javascript">
            function ExportToExcel(fTableElement)
            {
                var fApplication;
                
                try
                {
                    fApplication = new ActiveXObject("Excel.Application");
                }
                catch (e)
                {
                    alert("生成“Excel”需要安装“Excel”软件,请确主认您是否安装了“Excel”软件!并且允许使用 Active X");
                    return;
                }
                
                var fWorkbook = fApplication.Workbooks.Add();
                var fWorkSheet = fWorkbook.ActiveSheet;
    
                var fRowCount = fTableElement.rows.length;
                var fColCount = fTableElement.rows[0].cells.length;
    
                for (i = 0; i < fRowCount; i++)
                {
                    for (j = 0; j < fColCount; j++)
                    {
                        fWorkSheet.Cells(i + 1, j + 1).value = fTableElement.rows(i).cells(j).innerText;
                    }
                }
    
                // range style
                fWorkSheet.Range(fWorkSheet.Cells(1, 1), fWorkSheet.Cells(fRowCount, fColCount)).Interior.ColorIndex = 2;
                fWorkSheet.Range(fWorkSheet.Cells(1, 1), fWorkSheet.Cells(fRowCount, fColCount)).Borders.ColorIndex = 1;
                fWorkSheet.Range(fWorkSheet.Cells(1, 1), fWorkSheet.Cells(fRowCount, fColCount)).RowHeight = 16;
                fWorkSheet.Range(fWorkSheet.Cells(1, 1), fWorkSheet.Cells(fRowCount, fColCount)).Font.Name = "微软雅黑";
                fWorkSheet.Range(fWorkSheet.Cells(1, 1), fWorkSheet.Cells(fRowCount, fColCount)).Font.Size = 10;
                fWorkSheet.Range(fWorkSheet.Cells(1, 1), fWorkSheet.Cells(fRowCount, fColCount)).HorizontalAlignment = -4108;
                fWorkSheet.Range(fWorkSheet.Cells(1, 1), fWorkSheet.Cells(fRowCount, fColCount)).VerticalAlignment = -4108;
    
                fApplication.Visible = true;
            }   
               
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
        <input type="button" value="Export" onclick="ExportToExcel(document.getElementById('GridView1'));" />
        </form>
    </body>
    </html>
    
    



    知识改变命运,奋斗成就人生!
    2009年6月5日 6:12
    版主
  • 楼上你好!
          上面这种方式导出来的结果很混乱,而且和页面的格式也不符合啊?
          而且对于合并单元格的也没有区分。
          谢谢!

    2009年6月5日 6:34
  • 怎么C#一用saveFileDialog就报错呢?

    if (openFileDialog1.ShowDialog() == DialogResult.OK)

    在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常。

    我希望能够弹出一个保存路径的对话框(就像saveFileDialog一样)。怎么做呢?
    2009年6月5日 8:43
  • 对话框可以使用下面的方式实现, 至于导出 Excel 目前网上已有许多实现方式, 你可以自己查查对比一下选择一下适合自己的方式.

        <input type="button" value="保存"  onclick="document.execCommand('SaveAs');" /> 
        <input type="button" value="另存为" onclick="document.execCommand('SaveAs', false, 'c:\\test.htm');" />


    知识改变命运,奋斗成就人生!
    2009年6月5日 14:35
    版主
  • 客户端浏览器只认识HTML,不认识C#。
    在服务器端不能用openfiledialog,没人会在服务器上给你点“确定”。
    建议做一个下载页面,用Excel Web Service在服务器端生成Excel之后把结果写入到反馈数据流。

    MSMVP VC++
    2009年6月5日 17:55
    版主
  • 假如我的html页面中,一个<td>中有多个控件例如:<span> <input type="text"> <span>。
    上面三个控件。或者更多控件。
    js 怎么依次取得每个控件的值?
    2009年6月6日 2:39
  • 你好,

        <script>
            document.getElementById("text").value;
        </script>

        <input id="text" type="text" />

    谢谢!
    邹俊才
    2009年6月7日 4:23
    版主
  • var fTable = document.getElementById("")
    for (i = 0; i < fTable.rows.length; i++) {
        for (j = 0; j < fTable.row[i].cells.length; j++) {
            for (k = 0; k < fTable.row[i].cells[i].children.length; k++) {
                alert(fTable.row[i].cells[i].children[k].value);
            }
        }
    }

    知识改变命运,奋斗成就人生!
    2009年6月7日 4:38
    版主
  • 楼上的太厉害了。
    想问下,如何判断 fTable.row[i].cells[i].children[k] 到底是<span> 或者<input type="text">还是其他html控件。
    版主有X.X.Y 有关于javascript 的资料吗。就像fTable.row[i].cells[i] 的children属性我在其他资料上都没有见过。

    谢谢!
    2009年6月8日 2:12
  • 可以通过 element.type 获取类型,  如 document.getEmementById("xx").type == 'text' 或 fTable.row[i].cells[i].children[k].type = "text"

    MSDN 可以查到大部分的 javascript 资料,你可以把筛选器选成 Web开发(.net)然后输入你要查询的信息。另外网上可以下载到 javascript 的chm 你可以去查查

    知识改变命运,奋斗成就人生!
    2009年6月8日 2:44
    版主
  • 好像不识别  fTable.row[i].cells[i].children[k].type 的结果是undefined。
    2009年6月8日 2:48
  • Span 标签没有 type , 你可以加个判断 
    if (typeof(xxxx) == 'undefined'){
        // 你的代码
    }

    知识改变命运,奋斗成就人生!
    2009年6月8日 2:59
    版主
  • 2009年6月8日 3:01
    版主
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><title>
    	无标题页
    </title>
        <style type="text/css">
    
    .s8 {
     font-family: Arial;
     font-size: 12px;
     color: #000000; font-style: normal;
     background-color: transparent;
     border-color:#FFFFFF; border-style: solid;
     border-left-width: 1px;
     border-right-width: 1px;
     border-top-width: 1px;
     border-bottom-width: 1px;
     line-height:20px;
    }
    .s9 {
     font-family: Arial;
     font-size: 14px;
     color: #000000; font-style: normal;
     background-color: transparent;
     border-color:#FFFFFF; border-style: solid;
     border-left-width: 1px;
     border-right-width: 1px;
     border-top-width: 1px;
     border-bottom-width: 1px;
     font-weight: bold;
      line-height:25px;
    }
    .s7 {
     vertical-align:middle;
     text-align:left;
    }
    <!--
    .style1 {
    	font-size: 14px;
    	font-weight: bold;}
    .input{border:1px solid #cccccc;
    background-color:#f8f8F8;}
    textarea{background-color:#f8f8F8}
    
    -->
    #blo{background-color:#888;position:absolute;color:#fff}
    #blo ul{margin:5px;}
    #blo li{cursor:pointer;}
    ul{list-style:none;}
    *{margin:0px;padding:0px;}
    </style>
    <script type="text/javascript" >
    
    function gethtml()
    {
        var fTableElement,strcell,rows,cols,style,excelstr;
        
        fTableElement = document.getElementById("energyinfo");
    
        excelstr = "<html><head><!--<xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>工作表标题</x:Name><x:WorksheetOptions><x:print><x:ValidPrinterInfo /></x:print></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head>";
        excelstr += "<table border='1'>";
    
        for (i = 0; i < fTableElement.rows.length; i++)
        {
            excelstr += "<tr>";
            for (j = 0; j < fTableElement.rows[i].cells.length; j++)
            {
                rows = fTableElement.rows[i].cells[j].rowSpan;
                cols = fTableElement.rows[i].cells[j].colSpan;
                style = fTableElement.rows[i].cells[j].align;
                excelstr += "<td colspan=" + cols + " rowspan=" + rows + " align=" + style + ">";
                
                for(k = 0; k < fTableElement.rows(i).cells(j).children.length;k++){
                    if(fTableElement.rows(i).cells(j).children[k].type == undefined){
                        excelstr += fTableElement.rows(i).cells(j).children[k].innerText;
                    }else{
                        excelstr += fTableElement.rows(i).cells(j).children[k].value;
                    }
                }
                excelstr += "</td>";
            }
            excelstr += "</tr>";
        }
        excelstr += "</table></html>";
        
        return excelstr;
    }
    
    function ExportToExcel(){
    var str;
    str = gethtml();
    //window.clipboardData.setData("Text",document.all('energyinfo').outerHTML);   
    try
    {   
    var ExApp = new ActiveXObject("Excel.Application");
    var ExWBk = ExApp.workbooks.add();
    var ExWSh = ExWBk.worksheets(1);   
    ExApp.DisplayAlerts = false;
    ExWSh.Columns("A").ColumnWidth = 9;
    ExWSh.Columns("B").ColumnWidth = 9;
    ExWSh.Columns("C").ColumnWidth = 25;
    ExWSh.Columns("D").ColumnWidth = 15;
    ExWSh.Columns("E").ColumnWidth = 28;
    }     
    catch(e)   
    {
    alert("您的电脑没有安装Microsoft Excel软件!");   
    return false;
    }
      window.clipboardData.setData("Text",str);
      ExWBk.worksheets(1).Paste; 
      ExApp.visible = true;  
    }
    </script>
    <link href="../App_Themes/default/styles.css" type="text/css" rel="stylesheet" /></head>
    <body onload ="getTMonth('statisticsyear','statisticsMonth')">
        <form name="form1" method="post" action="DataSearch.aspx" id="form1">
    <div>
            <table id ="menu" width="100%" border="0">
                <tr style="vertical-align:top" >
                    <td id="_left" style="width:30%" align ="center">
                        <input type ="button" id ="saveexcel1" value="导出Excel"  onclick ="ExportToExcel()" />
                    </td>
                    <td id ="main" style="width:100%">
                        <table id="energyinfo" cellspacing="0" cellpadding="0" border="0" bgcolor="#E7E7E7" border="0" style="width:100%;border-collapse:collapse;display:inline">
    	<tr id="TableRow1">
    		<td id="TableCell1" align="center" class="s9" colspan="5"><span id="Label2">一、基本信息</span></td>
    	</tr><tr id="TableRow2">
    		<td id="TableCell2" align="left" class="s8" colspan="3"><span id="Label1">单位名称:</span><input name="companyName" type="text" value="中国移动" readonly="readonly" id="companyName" style="width:140px;" /></td><td id="TableCell3" align="right" class="s8" colspan="2"><span id="Label3">联系电话:</span><input name="statisticsYM" type="text" value="010-00000000" readonly="readonly" id="statisticsYM" style="width:90px;" /></td>
    	</tr><tr id="TableRow3">
    		<td id="TableCell4" align="left" class="s8" colspan="3"><span id="Label4">建筑面积:</span><input name="jianzhuMianJi" type="text" value="80009.00" readonly="readonly" id="jianzhuMianJi" style="width:70px;" /><span id="Label6">平方米</span></td><td id="TableCell5" align="right" class="s8" colspan="2"><span id="Label5">单位人数:</span><input name="yongNengRenshu" type="text" value="10008" readonly="readonly" id="yongNengRenshu" style="width:90px;" /></td>
    	</tr><tr id="TableRow4">
    		<td id="TableCell6" align="center" class="s9" colspan="5"><span id="Label7">二、情况</span></td>
    	</tr><tr id="TableRow5">
    		<td id="TableCell7" align="center" class="s8" colspan="3" style="width:50%"><span id="Label8">甲</span></td><td id="TableCell8" align="center" class="s8" style="width:20%"><span id="Label9">乙</span></td><td id="TableCell9" align="center" class="s8" style="width:30%"><span id="Label10">备注</span></td>
    	</tr><tr id="TableRow6">
    		<td id="TableCell10" align="center" class="s8" rowspan="8" style="width:10%"><span id="Label11">A</span></td><td id="TableCell11" align="center" class="s8" colspan="2"><span id="Label12">B</span></td><td id="TableCell12" align="center" class="s8"><input name="zongDian" type="text" value="100" readonly="readonly" id="zongDian" style="width:90px;" /></td><td id="TableCell13" class="s8">
    &nbsp;                            </td>
    	</tr><tr id="TableRow7">
    		<td id="TableCell14" align="center" class="s8" colspan="2"><span id="Label13">C</span></td><td id="TableCell15" align="center" class="s8"><input name="zongFeiYong" type="text" value="101" readonly="readonly" id="zongFeiYong" style="width:90px;" /></td><td id="TableCell16" class="s8">
    &nbsp;                            </td>
    	</tr><tr id="TableRow8">
    		<td id="TableCell17" align="center" class="s8" rowspan="6" style="width:15%"><span id="Label14">D</span></td><td id="TableCell18" align="right" class="s8" style="width:25%"><span id="Label15">E</span></td><td id="TableCell19" align="center" class="s8"><input name="zhaoMingDian" type="text" value="11" readonly="readonly" id="zhaoMingDian" style="width:90px;" /></td><td id="TableCell20" class="s8" rowspan="6"><span id="Label20">注:</span></td>
    	</tr><tr id="TableRow9">
    		<td id="TableCell21" align="right" class="s8"><span id="Label16">F</span></td><td id="TableCell22" align="center" class="s8"><input name="kongTiaoDian" type="text" value="12" readonly="readonly" id="kongTiaoDian" style="width:90px;" /></td>
    	</tr><tr id="TableRow10">
    		<td id="TableCell23" align="right" class="s8"><span id="Label17">G</span></td><td id="TableCell24" align="center" class="s8"><input name="banGongdian" type="text" value="13" readonly="readonly" id="banGongdian" style="width:90px;" /></td>
    	</tr><tr id="TableRow11">
    		<td id="TableCell25" align="right" class="s8"><span id="Label108">H</span></td><td id="TableCell26" align="center" class="s8"><input name="dianTiDian" type="text" value="14" readonly="readonly" id="dianTiDian" style="width:90px;" /></td>
    	</tr><tr id="TableRow12">
    		<td id="TableCell27" align="right" class="s8"><span id="Label18">I</span></td><td align="center" class="s8"><input name="zhuanYeSheBeiDian" type="text" value="15" readonly="readonly" id="zhuanYeSheBeiDian" style="width:90px;" /></td>
    	</tr><tr>
    		<td align="right" class="s8"><span id="Label19">J</span></td><td align="center" class="s8"><input name="qiTaDian" type="text" value="35" readonly="readonly" id="qiTaDian" style="width:90px;" /></td>
    	</tr>
    </table> 
                     </td>
                </tr>
            </table> 
    </form>
    </body>
    </html>



    综合大家的知识。得出了比较完美的excel出力代码。

    希望大家能够完善代码,让单元格格式也出力。

    让大家齐分享。
    学习,学习,再学习 = 成功!
    2009年6月8日 4:45
  • function XExportToExcel()
    {
        var fHtml = gethtml();
        var fSaveWindow = window.open();
        fSaveWindow.document.open("text/html", "gb2312");
        fSaveWindow.document.write(fHtml);
        fSaveWindow.document.execCommand("SaveAs", true, "table.xls");
        fSaveWindow.close();
    }
    在你的基础上做了一个简单实现,不同点就是可以不依赖 ExcelApplication
    知识改变命运,奋斗成就人生!
    2009年6月8日 5:28
    版主