Номер, хранящийся в виде текста - pchpspreadsheetPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Номер, хранящийся в виде текста - pchpspreadsheet

Сообщение Anonymous »

Я экспортирую данные из DB MySQL, чтобы Excel с помощью PHPSPreadSheet. Электронная таблица работает нормально, данные экспортируют правильно, однако числа хранятся в виде текста. Я могу получить PhpsPreadsheet для преобразования ячейки в число, но число все еще хранится как текст. < /P>
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();

$sheet->setCellValue('A1', 'Reference');
$sheet->setCellValue('B1', 'Project Name');
$sheet->setCellValue('C1', 'Value');
$sheet->setCellValue('D1', 'Sales Rep');
$sheet->setCellValue('E1', 'Stage');

if ($totalrows_lpr > 0) {
$i =1;
while ($row_lpr = mysqli_fetch_assoc($result_lpr)) {
$i++;
$projectID = $row_lpr['projectID'];
$projectRef = $row_lpr['projectRef'];
$projectName = $row_lpr['projectName'];
$value = projectvalue2($projectID);
$staffName = $row_lpr['firstName'] . " " . $row_lpr['surname'];
$stageName = $row_lpr['stageName'];
$sheet->setCellValue('A'.$i , $projectRef);
$sheet->setCellValue('B'.$i , $projectName);
$sheet->setCellValue('C'.$i , $value);
$sheet->getStyle('C'.$i)->getNumberFormat()->setFormatCode('#,##0.00');
$sheet->setCellValue('D'.$i , $staffName);
$sheet->setCellValue('E'.$i , $stageName);
}
}
< /code>
Код для функции (ProjectValue2): < /p>
$sql_pv = "SELECT MAX(productTotal)
FROM
( SELECT SUM(productTotal) AS productTotal
FROM quote_items
LEFT JOIN quote_details
ON quote_items.quoteID = quote_details.quoteID
WHERE quote_items.projectID = $projectID AND quote_details.visible = 1
GROUP BY quote_items.quoteID
)
quote_items
";
< /code>
Число отформатируется правильно с тысячами сепараторов и 2 десятичными точками. Если ячейка имеет нулевое значение, как ни в каких данных из базы данных, то она хранится как число в ячейке.

Подробнее здесь: https://stackoverflow.com/questions/735 ... preadsheet
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»