我希望这很简单。如何在将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不会剥离前导零?
谢谢!
答案 0 :(得分:0)
为什么不用引号将它们包起来?
假设您的ID位于索引0:
while ($field = mysqli_fetch_assoc($result)){
$field[0] = '"' . field[0] . '"';
fputcsv($output, $field);
}
答案 1 :(得分:0)
CSV不包含字段类型信息,因此您需要在Excel中导入时格式化和定义数据类型,而不是在导出过程中。