0
我有要顯示在Excel表格中的信息。我不想只是簡單地打印數據,因爲它在數據庫中。我想控制格式,但是我無法讓它顯示正確的信息。PHP導出爲excel的某些數據
我的代碼是:
$rep_disp = new new_report($db_link);
$rep_disp->export_summary_report_to_csv();
$out = '';
$i = 1;
foreach($rep_disp->inc_inc_t_list as $inc_t)
{
$inc_current = '';
$inc_current = reset($rep_disp->inc_t_curr_list[$inc_t]);
$inc_t_amo = $rep_disp->inc_t_amo_tot[$inc_t][$inc_current];
$out.= ','.$rep_disp->disp_inc_t_name($inc_t).',"","","","","'.$inc_t_amo.'","'.$rep_disp->disp_curr_name($inc_current).'",';
foreach($rep_disp->inc_loc_list[$inc_t] as $inc_loc)
{
$k = 0;
$out.= '\n,"","","'.$rep_disp->disp_loc_name($inc_loc).'",';
foreach ($rep_disp->inc_cur_list[$inc_t][$inc_loc] as $inc_curr)
{
/*emptying the variable to ensure a new information on each line or no display if there's none*/
$inc_t_amo = '';
$inc_current = '';/*this is the current currency that we are working on. It's independent from the foreach loop we use for the currency*/
$inc_var_test = next($rep_disp->inc_t_curr_list[$inc_t]);/*will use to check if there's information to show*/
if($inc_var_test <> '' and isset($rep_disp->inc_t_amo_tot[$inc_t][$inc_var_test]))
{
$inc_t_amo = $rep_disp->inc_t_amo_tot[$inc_t][$inc_var_test];
$inc_current = $rep_disp->disp_curr_name($inc_var_test);
}
if($k == 0)
{
$out.='"'.$rep_disp->inc_loc_tot_list[$inc_t][$inc_loc][$inc_curr].'","'.$rep_disp->disp_curr_name($inc_curr).'","","'.$inc_t_amo.'","'.$inc_current.'",\n';
}
elseif($k > 0)
{
$out.= '\n,"","","","'.$rep_disp->inc_loc_tot_list[$inc_t][$inc_loc][$inc_curr].'","'.$rep_disp->disp_curr_name($inc_curr).'","","'.$inc_t_amo.'","'.$inc_current.'",\n';
}
$k++;
}
}
}
您願意考慮將數據導出爲CSV並在Excel中進行手動導入以完成格式化?如果你不想手動編寫文件編寫代碼,PHP有一些非常方便的功能。 – EmmanuelG
您的代碼描述了寫入CSV,但您的問題是關於導出Excel文件進行格式設置。這些是非常不同的東西;看看http://stackoverflow.com/questions/4005814/export-from-php-to-excel –