2017-12-03 8 views
0

私はテーブルに以下のデータが含まれています。エクセルファイルにゼロがプレフィックスとして表示されていません

emp_name emp_id 
Test1 0011 
Test2 0532 

私はExcelでデータをダウンロードしています。以下はコードです。

<?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はExcelシートに表示されません。

データは以下の形式で表示されています。

emp_name emp_id 
Test1 11 
Test2 532 

接頭辞0のデータを取得する方法を教えてください。

+0

ここで概説するいくつかのテクニック:[Keeping-leading-zeros-and-large-numbers-](https://support.office.com/en-ie/article/Keeping-leading-zeros-and-large -numbers-1bf7b935-36e1-4985-842f-5dfa51f85fe7) – QHarr

答えて

0

Excelが問題になっているセルまたは範囲を選択し、ここで先頭の0をエクセル

でトリックを表示すると問題があります。 選択したセルまたは範囲を右クリックし、コンテキストメニューから[セルの書式設定]を選択します。 [番号]タブをクリックします。 [カテゴリ]リストから[カスタム]を選択します。 Typeフィールドに、最大値に対応するために必要な0の数を入力します。たとえば、最大値に4桁が含まれている場合は、4つの0を入力します。

+0

これは16桁未満の数字に対してのみ機能します。 – QHarr

関連する問題