如何在CSV导出前将我的数据库ID号转换为文本?

时间:2015-11-11 18:32:20

标签: php mysqli

我希望这很简单。如何在将mysql数据库中的ID号导出到csv文件之前将其转换为文本?

以下是我导出数据的代码:

$con = mysqli_connect('localhost', 'user', 'password', 'database');

if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment;filename=csv_file.csv');
$output = fopen('php://output', 'w');

$query = 'SELECT * FROM table';
$result = mysqli_query($con, $query);

while ($field = mysqli_fetch_assoc($result)){
    fputcsv($output, $field);
}

我可以将数据库中的数据导出到csv中,但有没有办法将ID号转换为文本,以便excel不会剥离前导零?

谢谢!

2 个答案:

答案 0 :(得分:0)

为什么不用引号将它们包起来?

假设您的ID位于索引0:

while ($field = mysqli_fetch_assoc($result)){
    $field[0] = '"' . field[0] . '"';
    fputcsv($output, $field);
}

答案 1 :(得分:0)

CSV不包含字段类型信息,因此您需要在Excel中导入时格式化和定义数据类型,而不是在导出过程中。