热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用PHP代码将表格导出为UTF8格式的Excel文件

本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。

我写了PHP代码是为了在csv(excel)中导出一个表。
我的表格有6列:Timestamp,Order number,Last Name,First Name,Phone number,e-mail address.
字符集是utf8。
我的代码是:

$cOnn= mysqli_connect("localhost","username","password","database");
$filename = "FILENAME";
$fp = fopen('php://output','w');
$query = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='mydatabase' AND TABLE_NAME='myTableName'";
$result = mysqli_query($conn,$query);
while ($row = mysqli_fetch_row($result)) {
$header[] = $row[0];
}
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);
fputcsv($fp,$header);
$query = "SELECT * FROM `MyTableName` order by `LNAME`";
$result = mysqli_query($conn,$query);
while($row = mysqli_fetch_row($result)) {
fputcsv($fp,$row);
}
exit;
?>

因此,我有我的excel文件,但不幸的是,有些名称是用希腊语写的,我在导出文件中看到像"ΣΟΦΙΑ".这样的字符

有人可以帮我解决这个问题吗?


这是一个编码问题,请在标头中使用charset = UTF-8,如下所示:

替换此行:

header('Content-type: application/csv');

此行:

header("content-type:application/csv;charset=UTF-8");

,

谢谢,我尝试了一下但没有成功。
导出文件具有相同的结果。
我不是程序员,我对php和sql的了解很差。
但是我找到了一种解决方法。我尝试过:

$con = mysqli_connect("localhost","MyUsername","MyPassword","MyDatabase");
if (mysqli_connect_errno())
{
die('Could not connect: ' . mysqli_connect_error());
}
mysqli_select_db($con,"MyDatabase");
$sql = "SELECT * FROM `MyTableName` order by `LNAME`";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
echo ("

    ");
    echo ("
  • " . utf8_decode($row['LNAME']) . " " . utf8_decode($row['FNAME']) . " " . $row['PHONE'] . " " . utf8_decode($row['EMAIL'])."
  • ");
    echo ("
");
}
mysqli_close($con);
?>

因此,我得到一个网页列表,所有名称和字符均可读。
虽然,我无法考虑如何使用“ utf8_decode”来使csv文件具有相同的结果。
有什么想法吗?

,

您是否正在Excel中打开CSV文件?这篇文章介绍了如何向文件添加UTF-8字节顺序标记(BOM),以便Excel 2007和更高版本将正确识别编码:Microsoft Excel mangles Diacritics in .csv files?


推荐阅读
author-avatar
陈雅如7959
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有