使用php格式化excel表


format excel sheet using php

我正试图使用php从数据库下载一份报告。我成功地获取了数据,但我在格式化单元格方面遇到了麻烦。有人能指导我如何格式化Excel吗?

我不能使用任何第三方插件,如PHPExcel或Spread Sheet Writer。

我尝试在php中连接html代码,但没有用。

感谢您的帮助。

<?PHP


session_start();
    if(isset($_SESSION['desion'])){$data=$_SESSION['desion'];}else{$data="";};
  function cleanData(&$str)
  {
    $str = preg_replace("/'t/", "''t", $str);
    $str = preg_replace("/'r?'n/", "''n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
  }
for($i=0;$i<count($data);$i++){
unset($data[$i]['comid']);
}
  header("Content-Disposition: attachment; filename= DecisionMaker.xls");
  header("Content-Type: application/vnd.ms-excel");

 $flag = false;
 foreach($data as $row) {
    if(!$flag) {
      // display field/column names as first row
      echo implode("'t", array_keys($row)) . "'r'n'n";
      $flag = true;
    }
    array_walk($row, 'cleanData');
  echo implode("'t", array_values($row)) . "'r'n";
  }
  exit;
?>

您不是在创建Excel电子表格,而是在创建CSV文件,这只是MS Excel能够导入的文件格式。CSV文件本质上没有格式,它们只是原始数据。如果需要格式化,则需要创建一个真正的本机格式Excel文件(旧的BIFF格式.xls文件或新的OfficeOpenXML格式.xlsx文件)。。。。要做到这一点,您真的想使用许多PHP库中的一个来创建本地格式的Excel文件,例如PHPExcel(无论您是否愿意),否则您将不得不花费大量时间编写自己的文件。

作为参考,PHP有一个内置的fputcsv()函数,可以用来正确创建csv文件,因此您不需要使用当前使用的"自制程序"