使用PHP导出为CSV并显示超链接单元格

时间:2012-11-27 07:48:14

标签: php mysql csv export

我不知道这是否发生了。无论如何,我的问题是

我的网站中有日志功能,管理员可以从中查看或访问最终用户访问过的位置。 - >这是简单的PHP

现在,如果他想导出日志,他可以导出CSV,但是没有链接到这些日志。

希望你有。

我正在为您的ref发布代码:

$contents="Sr.No,User_Type,Location\n";

$add = "select * from log_table order by id";
$user_query = mysql_query($add);

while($row  = mysql_fetch_array($user_query))
{
$contents.=$row[log_id].",";
$contents.=$row[Type].",";
$contents.="<a href='$row[location]'>".$row[location]."</a>\n";
}
Header("Content-Disposition: attachment; filename=export.csv");
print $contents;

我曾尝试将标记放在位置周围。但它没有用。

我期待的是 enter image description here

而我得到的是 enter image description here

提前致谢=)

2 个答案:

答案 0 :(得分:2)

CSV不支持此类格式。也就是说,CSV是纯文本。 Microsoft Excel不会自动将链接转换为可单击。

如果你想要这个,你将不得不使用XLS Builder或某些等效的软件来打开它。


另外,请勿尝试编写自己的CSV。如果您要继续使用CSV格式,请使用fputcsv()

答案 1 :(得分:1)

Excel不够智能,无法处理CSV链接。但是足够聪明,可以处理常规的HTML表格。

只需将以下内容输出到名为output.xls的文件:

<table border=1>
<tr>
    <td>1</td>
    <td>employee</td>
    <td><a href='http://www.example.com'>example</a></td>
</tr>
</table>

Excel将通知您该文件不是预期的格式,但如果您确认要打开它,则可以得到您想要的内容。额外的好处是,您还可以使用颜色,宽度/高度等。对于可能足够的管理员。

另一个好处是你不必担心某些CSV需要的不同excel语言环境;和其他人要求,