Как сохранить формат данных MySQL при экспорте в файл Excel через переполнение стека

Я экспортирую данные MySql в файл Excel, используя очень простой код PHP, но я сталкиваюсь с очень раздражающей проблемой в данных Excel. Я в порядке со всеми данными, кроме одного столбца, который хранится в MySQL как varchar и содержит учетные записи №. пользователей и обычно начинается с ведущих нулей, таких как 0000111122356, 0002345679855, 025478961694 и так далее. когда я экспортирую те же данные в Excel, он удаляет начальные нули, и я получаю 111122356, 2345679855, 25478961694 и так далее, что мне неприемлемо.
Мой PHP-код для экспорта файла Excel —

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 Table format —

id(int) name(varchar) address(varchar) bank bank_account(varchar)
1       abd           delhi            0000111122356
2       xyz           delhi            0002345679855
3       pqr           delhi            025478961694

Может ли кто-нибудь предложить мне некоторые изменения и хитрость в моем коде, чтобы справиться с этой ситуацией. Мне нужно экспортировать те же данные, которые хранятся в MySQL без и изменить.

0

Решение

Я предлагаю использовать библиотеку для создания файлов Excel, таких как PHP Excel, и отформатируйте ячейки документа в тексте, прежде чем вводить в них какие-либо значения; если они отформатированы как числа, то Excel удалит нули.

0

Другие решения

Попробуй поставить апостроф (') перед ячейками с ведущими нулями перед экспортом в excel. Таким образом, Excel должен интерпретировать его как текст.
сам не пробовал, но стоит попробовать

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector