Zero未在excell文件

时间:2017-12-03 09:07:45

标签: php mysql excel

我有一张包含以下数据的表格。

emp_name emp_id
Test1    0011
Test2    0532

我正在使用php下载excell中的数据。下面是代码。

<?php
/*******EDIT LINES 3-8*******/
$DB_Server = "localhost"; //MySQL Server    
$DB_Username = "usr"; //MySQL Username     
$DB_Password = "pass";             //MySQL Password     
$DB_DBName = "db_name";         //MySQL Database Name  
$DB_TBLName = "table_name"; //MySQL Table Name 
$timezone  = +6;
$date_time=gmdate("Y_m_d-H-i-s", time() + 3600*($timezone+date("I"))); 
$filename = "ALL_Report_$date_time";         //File Name
/*******YOU DO NOT NEED TO EDIT ANYTHING BELOW THIS LINE*******/    
//create MySQL connection   
$sql = "SELECT name,emp_id from emp_info";
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or 
die("Couldn't connect to MySQL:<br>" . mysql_error() . "<br>" . 
mysql_errno());
//select database   
$Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select 
database:<br>" . mysql_error(). "<br>" . mysql_errno());   
//execute query 
$result = @mysql_query($sql,$Connect) or die("Couldn't execute query:<br>" . 
mysql_error(). "<br>" . mysql_errno());    
$file_ending = "xls";
//header info for browser
header("Content-Type: application/xls");    
header("Content-Disposition: attachment; filename=$filename.xls");  
header("Pragma: no-cache"); 
header("Expires: 0");
/*******Start of Formatting for Excel*******/   
//define separator (defines columns in excel & tabs in word)
$sep = "\t"; //tabbed character
//start of printing column names as names of MySQL fields
for ($i = 0; $i < mysql_num_fields($result); $i++) {
echo mysql_field_name($result,$i) . "\t";
 }
print("\n");    
//end of printing column names  
//start while loop to get data
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";
}   

?>

使用此脚本我正确地获取数据,但是当我打开它时,我会正常运行。前缀0未显示在excell表中。

数据以下列格式显示。

emp_name emp_id
 Test1    11
 Test2    532

请帮助我如何获得前缀为0的数据。

1 个答案:

答案 0 :(得分:0)

excel有一个问题,在excel显示前导0这里的技巧

选择有问题的单元格或范围。 右键单击所选单元格或范围,然后从上下文菜单中选择“设置单元格格式”。 单击“数字”选项卡。 从类别列表中选择自定义。 在“类型”字段中,输入容纳最大值所需的0数。例如,如果最大值包含四位数,则输入四个0。