아주 간단한 PHP 코드를 사용하여 MySql 데이터를 엑셀 파일로 내보내는 중 Excel 데이터에서 매우 성가신 문제에 직면하고 있습니다. 나는 varchar로 MySQL에 저장되어있는 하나의 컬럼을 제외한 모든 데이터를 가지고 있으며, no를 포함하고있다. 일반적으로 사용자는 0000111122356, 0002345679855, 025478961694 등과 같은 선행 0으로 시작합니다. 동일한 데이터를 Excel로 내보낼 때 맨 앞의 0이 제거되고 111122356, 2345679855, 25478961694 등의 정보가 표시되어 허용되지 않습니다. 수출에 대한 나의 PHP 코드는 파일을 엑셀 -PHP로 파일을 엑셀로 내보낼 때 mysql 데이터의 형식을 유지하는 방법
include('db_connect.php');
$export = mysql_query('Select name, address, bank, bank_account from users') ;
$fields = mysql_num_fields ($export);
//with database field names
for ($i = 0; $i < $fields; $i++) {
$header .= mysql_field_name($export , $i) . "\t";
}
while($row = mysql_fetch_row($export)) {
$line = '';
//for each field in the row
foreach($row as $value) {
//if null, create blank field
if ((!isset($value)) || ($value == "")){
$value = "\t";
}
//else, assign field value to our data
else {
$value = str_replace('"' , '""' , $value);
$value = '"' . $value . '"' . "\t";
}
//add this field value to our row
$line .= $value;
}
//trim whitespace from each row
$data .= trim($line) . "\n";
}
//remove all carriage returns from the data
$data = str_replace("\r" , "" , $data);
$file_name = 'excel_data' ;
//create a file and send to browser for user to download
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: filename=".$file_name.".xls");
print "$header\n$data";
MySQL의 테이블 형식 -
id(int) name(varchar) address(varchar) bank bank_account(varchar)
1 abd delhi 0000111122356
2 xyz delhi 0002345679855
3 pqr delhi 025478961694
사람이 나에게이 상황을 처리하려면 코드의 일부 변경 및 트릭을 제안 해주십시오 수 있습니다. mysql에 저장되어있는 동일한 데이터를 내보내고 변경해야한다.