Dedehtml.com

织梦自定义表单导出到excel

摘要:不写死任何字段,不写死任何东西,修改2个文件,让织梦自定义表单自由导出到Excel表格里。

导出效果


不写死任何字段,不写死任何东西,修改2个文件,让织梦自定义表单自由导出到Excel表格里。

导出的excel文件请用wps软件打开,office软件下好像会乱码。

实现教程

1、/dede/templets/diy_main.htm 找到

前台预览</a>

在它的下面加入一行

| <a href="diy_list.php?action=excel&diyid={dede:field.diyid/}" target="_blank">导出表单Excel</a>

2、/dede/diy_list.php 找到

array('post', 'list', 'edit', 'check', 'delete'))

改成

array('post', 'list', 'edit', 'check', 'delete', 'excel'))

继续找到

else
{
    showmsg('未定义操作', "-1");
}

在它的上面加入

else if($action == 'excel')
{
	header("Content-type:application/vnd.ms-excel");
	header("Content-Disposition:attachment;filename={$diy->name}_".date("Y-m-d").".xls");
	$fieldlist = $diy->getFieldList();
	echo "<table><tr>";
	foreach($fieldlist as $field=>$fielddata)
	{
		echo "<th>{$fielddata[0]}</th>";
	}
	echo "<th>状态</th>";
	echo "</tr>";
	$sql = "SELECT * FROM {$diy->table} ORDER BY id DESC";
	$dsql->SetQuery($sql);
	$dsql->Execute('t');
	while($arr = $dsql->GetArray('t'))
	{
		echo "<tr>";
		foreach($fieldlist as $key => $field)
		{
			echo "<td>".$arr[$key]."</td>";
		}
		$status = $arr['ifcheck'] == 1 ? '已审核' : '未审核';
		echo "<td>".$status."</td>";
		echo "</tr>";
	}
	echo "</table>";
}

完成

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.dedehtml.com/notes/dede-outexcel.html
(8)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏