[英]PHP Excel remove blank rows at top
我正在使用PHP將數據從網格視圖導出到Excel電子表格。 由於某些原因,頂部有空白行。
如上圖所示,標題從第9行開始打印,當然,數據隨后也將開始打印,而我沒有顯示。
我的代碼可以工作,並且可以完成我需要做的事情。 我只是想弄清楚為什么它在頂部打印空白行。
這是代碼:
<?php
$ts = date('mdY-His');
session_start();
$where = $_SESSION['where']; // this is the parameters passed from another file
$sql = "SELECT * FROM mainTable WHERE " . $where . " ORDER BY CON_STATUS;";
$result = mysql_query($sql) or die("<script language='javascript'>
window.alert('There was no data to send')
window.location.href='../home.php'
</script>");
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=importdetails-".$ts.".xls");
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
$sep = "\t";
for($i = 0; $i < mysql_num_fields($result); $i++)
{
echo mysql_field_name($result, $i) . "\t";
}
print("\n");
while($row = mysql_fetch_row($result))
{
$schema_insert = "";
for($j = 0; $j < mysql_num_fields($result); $j++)
{
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
elseif ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
$schema_insert .= "\t";
print(trim($schema_insert));
print "\n";
}
?>
如前所述,除了在電子表格頂部打印空白行外,我的代碼也有效。 如果您在我的代碼中看到任何將刪除空白行的內容,將不勝感激。
我尚未對此進行測試,但是在我看來,您的電話線路存在問題
for($j-0; $j < mysql_num_fields($result); $j++)
注意您沒有設置$j=0
,而是從$j
減去0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.