利用js将html报表导出为excel文件
利用js将html表格导出为excel文件
最近因为工作的需要,需要将数据库里的信息显示到jsp页面中,然后选择导出数据的方式。因为以前没有接触过这些东西,所以毫无头绪。而且我的html的table还有很多属性,尤其是合并单元格的,真是毫无思路,不知道转换起来是否特别麻烦,望哪位大虾指点一二,最好可以有实现的代码
我的table大概是这样的:
<table class="normaltable">
<tr>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
</tr>
<tr class="listtr" height="33">
<td colspan="10" align="center">xxxxxxxxxx</td>
</tr>
<tr class="listtr" height="33">
<td colspan="4"></td>
<td colspan="6">xxxxxxxxxx</td>
</tr>
<tr class="listtr" height="33">
<td colspan="5">xxxxxxxxxx</td>
<td colspan="3"><input type='text' name="id1" value="xxxxxxxxxx"></td>
<td ></td>
<td ></td>
</tr>
</table>
------解决方案--------------------
为什么要用js倒呢?js有权限的问题.
在后台输出html不就可以了么?
------解决方案--------------------
最近因为工作的需要,需要将数据库里的信息显示到jsp页面中,然后选择导出数据的方式。因为以前没有接触过这些东西,所以毫无头绪。而且我的html的table还有很多属性,尤其是合并单元格的,真是毫无思路,不知道转换起来是否特别麻烦,望哪位大虾指点一二,最好可以有实现的代码
我的table大概是这样的:
<table class="normaltable">
<tr>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
<td width="33"> </td>
</tr>
<tr class="listtr" height="33">
<td colspan="10" align="center">xxxxxxxxxx</td>
</tr>
<tr class="listtr" height="33">
<td colspan="4"></td>
<td colspan="6">xxxxxxxxxx</td>
</tr>
<tr class="listtr" height="33">
<td colspan="5">xxxxxxxxxx</td>
<td colspan="3"><input type='text' name="id1" value="xxxxxxxxxx"></td>
<td ></td>
<td ></td>
</tr>
</table>
------解决方案--------------------
为什么要用js倒呢?js有权限的问题.
在后台输出html不就可以了么?
------解决方案--------------------
- HTML code
<HTML> <HEAD> <TITLE>将页面中指定表格的数据导入到Excel中</TITLE> <SCRIPT LANGUAGE="javascript"> <!-- function AutoExcel(){ var oXL = new ActiveXObject("Excel.Application"); //创建应该对象 var oWB = oXL.Workbooks.Add();//新建一个Excel工作簿 var oSheet = oWB.ActiveSheet;//指定要写入内容的工作表为活动工作表 var table = document.getElementById("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; oXL=null } //--> </SCRIPT> </HEAD> <BODY> <table border="0" width="300" id="data" bgcolor="black" cellspacing="1"> <tr bgcolor="white"> <td>编号</td> <td>姓名</td> <td>年龄</td> <td>性别</td> </tr> <tr bgcolor="white"> <td>0001</td> <td>张三</td> <td>22</td> <td>女</td> </tr> <tr bgcolor="white"> <td>0002</td> <td>李四</td> <td>23</td> <td>男</td> </tr> </table> <input type="button" name="out_excel" onclick="AutoExcel();" value="导出到excel"> </BODY> </HTML>
------解决方案--------------------
如果不考虑浏览器兼容,用微软的OWC吧
------解决方案--------------------
------解决方案--------------------