2015-05-26 27 views
-1

我正在嘗試爲我的項目出口的Excel表格數據,但如何使輸入在文本框出現在Excel導出?例如。如何使輸入文本框出現在Excel導出?

// JavaScript的

$("#btnExport").click(function(e) { 
    window.open('data:application/vnd.ms-excel,' + $('#dvData').html()); 
    e.preventDefault(); 
}); 

// HTML

<br/> 
<div id="dvData"> 
<table> 
    <tr> 
     <th>Column One </th> 
     <th>Column Two</th> 
     <th>Column Three</th> 
    </tr> 
    <tr> 
     <td><input type="text"></td> 
     <td><input type="text"></td> 
     <td><input type="text"></td> 
    </tr> 
    <tr> 
     <td>row2 Col1</td> 
     <td>row2 Col2</td> 
     <td>row2 Col3</td> 
    </tr> 
     <tr> 
     <td>row3 Col1</td> 
     <td>row3 Col2</td> 
     <td>row3 Col3</td> 
    </tr> 
</table> 

http://jsfiddle.net/jquerybyexample/xhYcD/light/

+0

您的陳述是正確的。請澄清你的問題。 _如何使文本框中的輸入出現在Excel導出?_例如。 – Mackan

+0

是否有任何解決方案? – Ram

回答

0

這個工作對我來說,當我面臨着同樣的問題。

編輯:以前的帖子只有鏈接,這裏是示例代碼,可以幫助你。

function write_to_excel() 
{ 
    var ele; 
    var str = ""; 

    var myTable = document.getElementById('tableId'); 
    var rowCount = myTable.rows.length; 
    var colCount = myTable.getElementsByTagName("tr")[0].getElementsByTagName("th").length; 

    if (window.ActiveXObject) { 
     var ExcelApp = new ActiveXObject("Excel.Application"); 
     var ExcelSheet = new ActiveXObject("Excel.Sheet"); 
     ExcelSheet.Application.Visible = true; 

     for(var i=1; i<rowCount; i++) 
     { 
      for(var j=0; j<colCount; j++) 
     {   
      ele= myTable.getElementsByTagName("tr")[i].getElementsByTagName("td")[j]; 
      if (ele.firstChild.type == undefined) { 
       str = ele.innerHTML; 
      } 
      else if (ele.firstChild.type == "text") { 
       str = ele.firstChild.value; 
      } 
      ExcelSheet.ActiveSheet.Cells(i+1,j+1).Value = str; 
     } 
     } 
    } 
} 
+0

雖然您的鏈接是朝着正確方向邁出的一步,但它並不能解決文本框的問題。即使它,*「僅鏈接」*答案不是有效的答案。請編輯您的答案以包含解決方案,否則將被標記爲關閉。 – Mackan

+0

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 –

+0

@Mark:抱歉只給出鏈接,我只是想在帖子中給出多個解決方案。感謝您提供意識,如果鏈接失效。 –