使用PHP

时间:2016-06-29 11:02:35

标签: php mysql excel csv fputcsv

我使用下面的代码在PHP中使用fputcsv导出CSV文件。代码正常工作并生成CSV文件。所有值/记录都来自数据库。但是我想用一些列值添加美元($)符号。

导出CSV文件的代码。

        $filename1 = "All Months.csv";
        ob_end_clean();
        $fp1 = fopen('php://output', 'w');

        ob_start();
        header("Content-type: application/vnd.ms-excel");
        header('Content-Disposition: attachment; filename='.$filename1);

        fputcsv($fp1, array('Month', 'Year', 'Total Production', 'Credit Adjustments', 'Net Production', 'Hygiene Production', 'Collections', 'Account Receivable Total', 'New Patients', 'Break Even Points', 'Net Income', 'Hygiene %'));

        $query = $db->query("SELECT Month, Year, Total_Production, Credit_Adjustments, Net_Production, Hygiene_Production, Collections, AC_Receivable_Total, New_Patients, Break_Even_Points, Net_Income, Hygiene FROM clientsdata WHERE Client_Id = '".$userID."'");
        while($row = $query->fetch(PDO::FETCH_ASSOC)) {
            fputcsv($fp1, $row);
        } 

        exit();

导出文件的快照 -

enter image description here

2 个答案:

答案 0 :(得分:0)

使用select查询本身时,您可以连接$符号。如下所示

$query = $db->query("SELECT concat('$',Net_Income) as Net_Income FROM clientsdata WHERE Client_Id = '".$userID."'");
        while($row = $query->fetch(PDO::FETCH_ASSOC)) {
            fputcsv($fp1, $row);
        } 

答案 1 :(得分:0)

如果您只想添加$ sign,可以这样做:

while($row = $query->fetch(PDO::FETCH_ASSOC)) {
    $row['the_field_you_want'] = '$'.$row['the_field_you_want']
    fputcsv($fp1, $row);
}