Делаю отчет из MySQL в Excel на PHP.
Длинная строка из чисел 758456123548
переводится в int
и в Excel, это поле что-то типа 7.5945e11
.
Мне нужно, чтобы оно отображалось как строка.
Вот скрипт:
<?php
header('Content-Type: text/html; charset=utf-8');
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=User_Detail_Report.xls");
header("Pragma: no-cache");
header("Expires: 0");
?>
<?php
include 'database_connect.php';
$setSql = "SELECT `imya`,`familiya`,`iin`,`email` FROM `Ankety`";
$setRec = mysqli_query($mysqli, $setSql);
$columnHeader = '';
$columnHeader = "Имя" . "\t" . "Фамилия" . "\t" . "Иин" . "\t" . "email" . "\t";
$setData = '';
while ($rec = mysqli_fetch_row($setRec)) {
$rowData = '';
// var_dump($rec);
foreach ($rec as $value) {
$value = '"' . (string)$value . '"' . "\t";
$rowData .= $value;
}
$setData .= trim($rowData) . "\n";
}
echo ucwords($columnHeader) . "\n" . $setData . "\n";
?>
function float_to_string($float) {
$string = (string)$float;
if (preg_match('~\.(\d+)E([+-])?(\d+)~', $string, $matches)) {
$decimals = $matches[2] === '-' ? strlen($matches[1]) + $matches[3] : 0;
$string = number_format($float, $decimals,'.','');
}
return $string;
}
Источник
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть таблица анкет(polls)Polls относится к одному заказу(orders) и связано с ним по полю order_id
Есть 2 подобные функции для установки хука для 64 и 32 - битных приложений:
На данный вопрос уже ответили: