用php的Smarty模板的后台程序,如何做文件导出(导成excel文件)?

smarty最后生成的也是html,所以以下是用js导出HTML表格到EXCEL的示例代码:

<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>