【发布时间】:2013-03-22 09:43:12
【问题描述】:
我想在用户单击按钮后生成一个 Excel 工作表。基本上我想做的正是这里讨论的内容
how to pass html table values to excel sheet cells (Kalle H. Väravas 回答)
JavaScript to export HTML tables to Excel
但不知何故,当我单击按钮时什么也没有发生。我正在使用 Mozilla 浏览器。我的代码需要启用 ActiveXObject。我需要做一些额外的事情来完成它吗? ?
我为测试创建了这个小提琴。如果这可行,我将尝试我的真实代码。如果这对你有用,那么也请告诉我。谢谢
代码:
JS:
<script type="text/javascript">
function CreateExcelSheet() {
var i, j, str,
myTable = document.getElementById('mytable'),
rowCount = myTable.rows.length,
excel = new ActiveXObject('Excel.Application');// Activates Excel
excel.Workbooks.Add(); // Opens a new Workbook
excel.Application.Visible = true; // Shows Excel on the screen
for (i = 0; i < rowCount; i++) {
for (j = 0; j < myTable.rows[i].cells.length; j++) {
str = myTable.rows[i].cells[j].innerText;
excel.ActiveSheet.Cells(i + 1, j + 1).Value = str; // Writes to the sheet
}
}
return;
}
</script>
HTML:
<table id ="myTable" >
<tr>
<td>1</td>
<td>Jan</td>
<td>01/04/2012</td>
<td>Approved</td>
</tr>
<tr>
<td>2</td>
<td>Feb</td>
<td>01/04/2012</td>
<td>Approved</td>
</tr>
</table>
<form>
<input type="button" onclick="CreateExcelSheet();" value="Create Excel Sheet" >
</form>
【问题讨论】:
-
据我所知,ActiveXObjects 只是 Internet Explorer。
-
您可以从服务器端创建excel。您使用的是什么服务器端语言?
-
@hexblot 我猜你是对的。我的朋友刚刚向我指出了这一点。我该怎么做才能让它在所有网络浏览器上运行?
-
@slacker 我正在通过 JavaServer Pages (*.jsp) 使用 Java。我也在使用一些 JavaScript。
标签: javascript jquery html excel