2016-06-09 7 views
0

Ich habe ein Problem mit einigen Spalten meiner Excel-Datei, die ich von PHP exportieren. Andere Spalte arbeitet mit der Formel in Ordnung, aber zwei weitere Spalten ProblemPHP zu Excel Datei: Spalte Show Formel als String

  1. Eine Spalte mit der Formel die Formel nicht aus, sondern die Formel als String zeigen, wird die Formel Arbeits/normal ausgeführt, wenn der Benutzer, klicken Sie auf die Spalte und drücken Sie die Eingabetaste. Es ist kein Problem, wenn Sie nur ein paar Zeilen in der Datei haben, die manuell ausgeführt werden müssen, wenn viele Zeilen vorhanden sind, dann sollte viel Arbeit erledigt werden.
  2. Eine andere Spalte haben das gleiche Problem, aber das passiert nur in den ersten sechs Zeilen, der Rest der Reihe funktioniert normal.

Ich denke, das ist kein Problem mit der Formel, denn die Formel funktioniert nur gut, wenn ich auf die Zelle drücken, um manuell auszuführen.

Wer weiß, wie man das löste?

Danke in fortgeschrittenem.



Hier Bildschirm schießen von der

Spalte ist

enter image description here

Hier mein Code von Header ist

header("Content-Type: application/vnd.ms-excel;"); 
date_default_timezone_set("Asia/Jakarta"); 
header("Content-Disposition: attachment; filename=Laporan_Absensi_".date("d-m-Y").date("_H-i")); 

Für das Problem der Nummer 1, hier ist der Code Wie setze ich die Spalte

<td style="vnd.ms-excel.numberformat:#,##0_) \Rp;" align="right"><?=$penalty?></td> 

Für das Problem der Punkt 2, hier ist der Code, wie ich die Spalte

<td style="background-color:#99CCFF;vnd.ms-excel.numberformat:h:mm;" align="right"><?=$form?></td> 

$penalty und $form die Variable gesetzt, wo ich die Formel

Antwort

0

speichern Es ist etwas so sein würde:

$result = mysql_query('SELECT * FROM `some_table`'); 
if (!$result) die('Couldn\'t fetch records'); 
$num_fields = mysql_num_fields($result); 
$headers = array(); 
for ($i = 0; $i < $num_fields; $i++) 
{  
    $headers[] = mysql_field_name($result , $i); 
} 
$fp = fopen('php://output', 'w'); 
if ($fp && $result) 
{  
    header('Content-Type: text/csv'); 
    header('Content-Disposition: attachment; filename="export.csv"'); 
    header('Pragma: no-cache');  
    header('Expires: 0'); 
    fputcsv($fp, $headers); 
    while ($row = mysql_fetch_row($result)) 
    { 
     fputcsv($fp, array_values($row)); 
    } 
die; 
} 
+0

warum 'csv' anstelle von' vnd.ms-excel' verwenden? –