PHP/CSV导出-空行问题
我在CSV导出过程中遇到问题(通过简单的.html按钮)。 标题前的第一行为空。这会导致excel导入过程中出现一些问题(如果我没有手动删除第一个空行,则不会导入文件的…最后一行) 因此,我试图删除第一个空行,但我真的不知道如何在导出期间执行此操作 请参见下面的php代码,将数据导出到.csv(工作模式):PHP/CSV导出-空行问题,php,sql-server,csv,export,Php,Sql Server,Csv,Export,我在CSV导出过程中遇到问题(通过简单的.html按钮)。 标题前的第一行为空。这会导致excel导入过程中出现一些问题(如果我没有手动删除第一个空行,则不会导入文件的…最后一行) 因此,我试图删除第一个空行,但我真的不知道如何在导出期间执行此操作 请参见下面的php代码,将数据导出到.csv(工作模式): 你能显示一个var\u转储($headers)?我已经用var\u转储($headers)进行了编辑;我在console中本地尝试了这一点,并且在没有额外换行的情况下工作得很好。您可以尝试在
你能显示一个
var\u转储($headers)
?我已经用var\u转储($headers)进行了编辑;我在console中本地尝试了这一点,并且在没有额外换行的情况下工作得很好。您可以尝试在控制台中测试这个吗?
<?php
// Query
$sql = "SELECT * FROM [cm_blueprint] WITH(NOLOCK) ORDER BY cm_blueprint_name";
$msdb = new DB();
$result = $msdb->runQuery($sql);
date_default_timezone_set("Europe/Zurich");
// Array
$data = array();
While($row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC)) {
$data[] = array(
"cm_blueprint_id" => utf8_encode($row['cm_blueprint_id']),
"cm_blueprint_name" => utf8_encode($row['cm_blueprint_name']),
"cm_blueprint_type" => utf8_encode($row['cm_blueprint_type']),
"cm_blueprint_vradatecreated" => utf8_encode($row['cm_blueprint_vradatecreated']->format('Y-m-d G:i:s')),
"cm_blueprint_vralastupdated" => utf8_encode($row['cm_blueprint_vralastupdated']->format('Y-m-d G:i:s')),
"cm_blueprint_description" => utf8_encode($row['cm_blueprint_description']),
"cm_blueprint_service" => utf8_encode($row['cm_blueprint_service']),
"cm_blueprint_status" => utf8_encode($row['cm_blueprint_status']),
"cm_blueprint_version" => utf8_encode($row['cm_blueprint_version']),
"cm_blueprint_requestable" => utf8_encode($row['cm_blueprint_requestable']),
"cm_blueprint_tenant" => utf8_encode($row['cm_blueprint_tenant']),
"cm_blueprint_output" => utf8_encode($row['cm_blueprint_output']),
"cm_blueprint_quota" => utf8_encode($row['cm_blueprint_quota']),
"cm_blueprint_createdtime" => utf8_encode($row['cm_blueprint_createdtime']->format('Y-m-d G:i:s')),
"cm_blueprint_lastupdate " => utf8_encode($row['cm_blueprint_lastupdate']->format('Y-m-d G:i:s'))
);
}
// Export Part
$file = "cm_blueprint.csv";
// Headers
$headers = array();
foreach( sqlsrv_field_metadata($result) as $fieldMetadata){
$headers[] = $fieldMetadata['Name'];
}
// File to export
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Pragma: no-cache');
header('Expires: 0');
$fp = fopen('php://output', 'w');
fputcsv($fp, $headers);
// Array export
foreach ($data as $fields) {fputcsv($fp, $fields);}
break;
?>
array(15) { [0]=> string(21) "cm_blueprint_id" [1]=> string(23) "cm_blueprint_name" [2]=> string(23) "cm_blueprint_type" [3]=> string(33) "cm_blueprint_vradatecreated" [4]=> string(33) "cm_blueprint_vralastupdated" [5]=> string(30) "cm_blueprint_description" [6]=> string(26) "cm_blueprint_service" [7]=> string(25) "cm_blueprint_status" [8]=> string(26) "cm_blueprint_version" [9]=> string(30) "cm_blueprint_requestable" [10]=> string(25) "cm_blueprint_tenant" [11]=> string(25) "cm_blueprint_output" [12]=> string(24) "cm_blueprint_quota" [13]=> string(30) "cm_blueprint_createdtime" [14]=> string(29) "cm_blueprint_lastupdate" }