php - 使用 fputcsv php 在导出时添加标题

标签 php export-to-csv

我正在尝试在 csv 文件中使用 fputcsv() 导出数据库行。我如何首先添加标题,然后居中对齐列然后数据我的代码在没有标题的情况下运行良好。我知道有很多 api,但这在我的代码中是否可行。

这是我的代码:-

                      Enquiry Report

   id         name         class         func
    1          rk           ba            call()
    2          bk           bd            that()

function exportdata_to_excel($details) {
 
  // filename for download 
  $filename = date("Y-m-d").".csv";
  header('Content-Type: text/csv');
  header("Content-Disposition: attachment; filename=\"$filename\""); 
  $out = fopen("php://output", 'w'); 
  
  $flag = false;
 
   //$result = $orderDetails; 
  while($row = mysql_fetch_assoc($details)) {
     $arr =array('Enquiry id'=>$row['id'],'Date'=>$row['created_on'],'Name'=>$row['name'], 'Email'=>$row['email'], 'Telephone'=>$row['telephone'], 'Customer Request'=>$row['customer_request'], 'Special Request'=>$row['special_request']);
    
     if(!$flag) { 
       // display field/column names as first row 
       fputcsv($out, array_keys($arr), ',', '"');
       $flag = true; 
     } 
     
     fputcsv($out, array_values($arr), ',', '"'); 
   } 
   
    fclose($out); 
    exit();
}

最佳答案

这对我有用。

function downloadCSV($data)
{
    $filename = date("Y-m-d").".csv";

    header('Content-type: application/csv');
    header('Content-Disposition: attachment; filename=' . $filename);
    header("Content-Transfer-Encoding: UTF-8");

    $f = fopen('php://output', 'a');
    fputcsv($f, array_keys($data[0]));

    foreach ($data as $row) 
    {
        fputcsv($f, $row);
    }
    fclose($f);
}

关于php - 使用 fputcsv php 在导出时添加标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17378257/

相关文章:

php - 将垃圾邮件机器人发送到黑洞

php - SQL 和不区分大小写的条件

php - 将列名称导出到 CSV

Python:从标准输出中提取模式并保存在csv中

vba - 将选定单元格的导出写入不带 "quotation marks"的 .txt 文件

php - Laravel Eloquent 转json

php - 当对象的尺寸较大时隐藏特定的 div 类

javascript - 根据数据库结果填充li内容

python - 如何使用预定义的标题python将刮取的数据导出到excel中?

php - 如何在服务器上用 PHP 从 MySQL 查询中保存 CSV 文件