<table  cellspacing="0" cellpadding="0" width="100%" id="PrintA">
           <tr valign="top">
            <td width="100%"  colspan="7">
              <table width="100%" style="border:solid 1px;" id="PrintB">
              <tr style="line-height: 28px; background-color: #CFD4E2; font-weight:bold;">
            <td style="width: 12%; text-align: center;">
              性别
            </td>
            <td style="width: 12%; text-align: center;">
              百分比
            </td>
            <td style="width: 12%; text-align: center;">
               60-64岁
            </td>
            <td style="width:12%; text-align: center;">
               65-69岁
            </td>
            <td style="width: 12%; text-align: center;">
                70-74岁
            </td>
             <td style="width: 12%; text-align: center;">
             75-79岁
            </td>
               <td style="width: 12%; text-align: center;">
             80岁及以上
            </td>
            <td style="width: 12%; text-align: center;">
              合计
            </td>
          
            
        </tr>
        </table>
        </td>
           </tr>
        
        
        
        
           <tr valign="top" >
            <td width="100%"  colspan="7" id="manflag">
              <table width="100%" style="border:solid 1px;" id="PrintC">
              <tr style="line-height: 24px; background-color: #CFD4E2; " >
             <td style="width: 12%; text-align: center;font-weight:bold;"  rowspan="4">
             男
             </td>
     
              <td style="width: 12%; text-align: left;font-weight:bold;">
              计数
            </td>
            <td style="width:12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount1">4</span>
            </td>
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount2">5</span>
            </td>
             <td style="width: 12%; text-align: center;">
                 <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount3">2</span>
            </td>
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount4">4</span>
            </td>
           
            
             <td style="width: 12%; text-align: center;">
                 <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount5">3</span>
            </td>
               <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleCount6">18</span>
            </td>
            
            
            
             </tr>
        
           <tr style="line-height: 24px; background-color: #CFD4E2; ">
         
            <td style="width: 12%; text-align: left;font-weight:bold;">
          行百分比
              
            </td>
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent1">22.22%</span>
            </td>
            <td style="width:12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent2">27.78%</span>
            </td>
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent3">11.11%</span>
            </td>
             <td style="width: 12%; text-align: center;">
                 <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent4">22.22%</span>
            </td>
           
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent5">16.67%</span>
            </td>
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleRowPercent6">100.00%</span>
            </td>
            
        </tr>
           <tr style="line-height: 24px; background-color: #CFD4E2; ">
          
            <td style="width: 12%; text-align: left;font-weight:bold;">
       列百分比
              
            </td>
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent1">100.00%</span>
            </td>
            <td style="width:12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent2">62.50%</span>
            </td>
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent3">66.67%</span>
            </td>
             <td style="width: 12%; text-align: center;">
                 <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent4">66.67%</span>
            </td>
           
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent5">60.00%</span>
            </td>
              <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleClmPercent6">69.23%</span>
            </td>
          
            
        </tr>
        
           <tr style="line-height: 24px; background-color: #CFD4E2; ">
         
            <td style="width: 12%; text-align: left;font-weight:bold;">
           总和百分比
              
            </td>
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent1">15.38%</span>
            </td>
            <td style="width:12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent2">19.23%</span>
            </td>
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent3">7.69%</span>
            </td>
             <td style="width: 12%; text-align: center;">
                 <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent4">15.38%</span>
            </td>
           
            <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent5">11.54%</span>
            </td>
             <td style="width: 12%; text-align: center;">
                <span id="ctl00_ctl00_BasicPlace_DataGrid_LblMaleSumPercent6">69.23%</span>
            </td>
          
            
        </tr>
        
        
        
        
        </table>
             </td>
           </tr>
        </tr>
        
    </table>
             </td>
           </tr>           
        
    </table>
    省略了一些代码,基本上是3个表格嵌套一起,而且还有跨行,求解。而且最好很详细。网页上面那个复杂表格导入EXCEL也不行。

解决方案 »

  1.   

    function importXLS(fileName)
    {
       try{ 
         objCon = new ActiveXObject("ADODB.Connection");
         objCon.Provider = "Microsoft.Jet.OLEDB.4.0";
         objCon.ConnectionString = "Data Source=" + fileName + ";Extended Properties=Excel 8.0;";
         objCon.CursorLocation = 1;
         objCon.Open;
         var strQuery;
         //Get the SheetName
         var strSheetName = "Sheet1$";
         var rsTemp =  new ActiveXObject("ADODB.Recordset");
         rsTemp = objCon.OpenSchema(20);
         if(!rsTemp.EOF)
         strSheetName = rsTemp.Fields("Table_Name").Value;
         rsTemp = null
         rsExcel =  new ActiveXObject("ADODB.Recordset");
         strQuery = "SELECT * FROM [" + strSheetName + "]";
         rsExcel.ActiveConnection = objCon;
         rsExcel.Open(strQuery);
         if(rsExcel.Fields.Count!=4){
             alert('文件不规范,请点击EXCEL模板查看');
             objCon.Close;
          objCon =null;
          rsExcel = null;
          return;
         }
         while(!rsExcel.EOF)
         {
          addrow(rsExcel.Fields(0).value,rsExcel.Fields(1).value,rsExcel.Fields(2).value,rsExcel.Fields(3).value);
          rsExcel.MoveNext;
         }
         // Close the connection and dispose the file
         objCon.Close;
         objCon =null;
         rsExcel = null;
         }
       catch(e){ 
        alert("文件格式不对或没有安装EXCEL或浏览器没有权限,\r\n请安装EXCEL并且允许使用ActiveX控件[建议把本网站设置为信任站点]!"); 
       } 
    }JS导出excel
      

  2.   

    楼上的代码虽然可以实现功能,但条件太苛刻,很多机器都不行,或需要更改安全设置才行。
    其实只需用JS遍历表格,生成execel文本格式的字符串再保持即可。
      

  3.   


    当前位置: 首页 > 软件开发 > Web开发 > JavaScript > javascript导入EXCEL数据 时间:2008-08-25 21:09来源:  点击:998 次以前读书的时候绝不会想到会用客户端脚本来实现这些功能,现在却一开始就要用上了,而且还觉得挺实用的。 参考《Windows脚本技术》,应该会有一点收获。<html xmlns="http://www.w3.org/1999/xhtml" > 
    <head> 
    <title>Untitled Page</title> 
    </head> 
    <script language="javascript" type="text/javascript"> 
    function importXLS(fileName) 

    objCon = new ActiveXObject("ADODB.Connection"); 
    objCon.Provider = "Microsoft.Jet.OLEDB.4.0"; 
    objCon.ConnectionString = "Data Source=" + fileName + ";Extended Properties=Excel 8.0;"; 
    objCon.CursorLocation = 1; 
    objCon.Open; 
    var strQuery; 
    //Get the SheetName 
    var strSheetName = "Sheet1$"; 
    var rsTemp = new ActiveXObject("ADODB.Recordset"); 
    rsTemp = objCon.OpenSchema(20); 
    if(!rsTemp.EOF) 
    strSheetName = rsTemp.Fields("Table_Name").Value; 
    rsTemp = null 
    rsExcel = new ActiveXObject("ADODB.Recordset"); 
    strQuery = "SELECT * FROM [" + strSheetName + "]"; 
    rsExcel.ActiveConnection = objCon; 
    rsExcel.Open(strQuery); 
    while(!rsExcel.EOF) 

    for(i = 0;i<rsExcel.Fields.Count;++i) 

    alert(rsExcel.Fields(i).value); 

    rsExcel.MoveNext; 

    // Close the connection and dispose the file 
    objCon.Close; 
    objCon =null; 
    rsExcel = null; 

    </script> 
    </head> 
    <body> 
    <input type="file" id="f" /> 
    <input type="button" id="b" value="import" onclick="if(f.value=='')alert('请选择xls文件');else importXLS(f.value)" /> 
    </body> 
    </html>trackback:http://hi.baidu.com/netcorner/blog/item/4c35a818788f670635fa41d3.html通过Javascript操作Excel 
    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; 
    }<HTML> 
    <HEAD> 
    <TITLE>将页面中指定表格的数据导入到Excel中</TITLE> 
    <SCRIPT LANGUAGE="javascript"> 
    <!-- 
    function AutomateExcel() 
    { var oXL = new ActiveXObject("Excel.Application"); //创建应该对象 
    var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿 
    var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表 
    var table = document.all.data;//指定要写入的数据源的id 
    var hang = table.rows.length;//取数据源行数 
    var lie = table.rows(0).cells.length;//取数据源列数 // Add table headers going cell by cell. 
    for (i=0;i<hang;i++){//在Excel中写行 
    for (j=0;j<lie;j++){//在Excel中写列 
    //定义格式 
    oSheet.Cells(i+1,j+1).NumberFormatLocal = "@"; 
    //!!!!!!!上面这一句是将单元格的格式定义为文本 
    oSheet.Cells(i+1,j+1).Font.Bold = true;//加粗 
    oSheet.Cells(i+1,j+1).Font.Size = 10;//字体大小 
    oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;//向单元格写入值 


    oXL.Visible = true; 
    oXL.UserControl = true; 

    //--> 
    </SCRIPT> 
      

  4.   

    是我没有说明白吗?
     我是将这个table导入到EXCEL中去,不是excel导入到table中来。。  全部都是导入到表格中来。我晕了。