<?php
if($_POST) {
//here i give test $result datas
$result = array(array("Date"=>"2016-01-01","Time"=>"01:08:06","num"=>"","amount"=>"0.12"), array("Date"=>"2016-01-02","Time"=>"02:08:06","num"=>"1234567890","amount"=>"1.12"),array("Date"=>"2016-01-03","Time"=>"03:08:06","num"=>"1234567899","amount"=>"3.12")
);
require_once "phpexcel/class.writeexcel_workbook.inc.php";
require_once "phpexcel/class.writeexcel_worksheet.inc.php";
$fname = tempnam("/tmp", "simple.xls");
$workbook = &new writeexcel_workbook($fname);
$f_volume =& $workbook->addformat();
//$f_volume->set_align('left');
$f_volume->set_num_format('@');
$gen =& $workbook->addformat();
$gen->set_align('left');
$gen->set_num_format('General');
$dat =& $workbook->addformat();
//$dat->set_align('left');
$dat->set_num_format('DD/MM/YYYY');
$inv_ref =& $workbook->addformat();
$inv_ref->set_num_format('YYYY-MM-DD HH:MM:SS');
$setup =& $workbook->addformat();
$setup->set_align('left');
$setup->set_num_format('#,###.00#');
$tax =& $workbook->addformat();
$tax->set_align('left');
$tax->set_num_format('0.###%');
$worksheet = &$workbook->addworksheet("My Report");
$worksheet->write_string(0,0,'Date');
$worksheet->write_string(0,1,'Time');
$worksheet->write_string(0,2,'Dialled');
$worksheet->write_string(0,3,'Rate');
$worksheet->set_column(0,0,10,$dat);
$worksheet->set_column(0,1,10,$f_volume);
$worksheet->set_column(0,2,20,$f_volume);
$worksheet->set_column(0,3,10,$f_volume);
$j=1;
$unitTotal = 0;
$totalTotal = 0;
if(count($result) > 0) {
foreach($result as $outKey=>$rr){
$worksheet->write($j,0,date("d/m/Y",strtotime($rr['Date'])));
$worksheet->write($j,1,$rr['Time']);
$worksheet->write($j,2,$rr['Dialled']);
$worksheet->write($j,3,$rr['Rate']);
}
}
$workbook->close();
//header("Content-Type: application/x-msexcel; charset=UTF-8");
header("Content-Type: application/x-msexcel; name=Calls Report.xls");
header("Content-Disposition: inline; filename=Calls Report.xls");
$fh=fopen($fname, "rb");
fpassthru($fh);
unlink($fname);
}
?>
я использовал приведенный выше код для создания «Мой отчет» Excel и его хорошо работает, проблема после открытого первенствует правой кнопкой мыши над клеточно> Формат ячеек затем его шоу текстовый формат, но мне нужно, чтобы показать, если я выбираю дату, а затем формат Date, если время, то формат - это время, если его размер тогда равен валюте, я использовал «$ dat», чтобы установить формат даты здесь, но не работает.Как изменить формат Excel или формат столбца с помощью php?
Хотя, похоже, вы можете использовать другую/более старую версию библиотеки. Вы уверены, что используемая libarary поддерживает то, что вы хотите сделать? – Relequestual
Я проверю и дам вам знать – Prime
. Глядя на документацию для библиотеки, которую вы используете, обычно будет несколько шагов, прежде чем приступить к SO, заявив, что что-то не работает, как вы ожидаете. – Relequestual