如何设置csv文件列的大小?

2022-08-30 23:05:37

我想在csv文件中设置每列的大小,我想根据字段设置列的大小,我不知道我可以在哪里做代码来设置大小?任何人都可以帮忙,将不胜感激,提前感谢。

这是我的代码

function export($result)
{   
    Configure::write('debug',0);
    $filename = "excel.".csv";
    $csv_file = fopen('php://output', 'w');
    header('Content-Type: text/csv; charset=utf-8');
    header('Content-Disposition: attachment; filename="'.$filename.'"');    

    // The column headings of  .csv file
    $header_row1 = array(   
                        "Last Name",
                        "First Name",
                        "Middle Name",
                        );

    $header_row =   array_merge($header_row1,$header_row2);
    fputcsv($csv_file,$header_row,',','"');

    // Array indexes correspond to the field names in your db table(s)
    if (!isset($result['Post']['User'])) {
        $row1 = array(
            $result['Post']['prefix_name'],
            $result['Post']['first_name'],
            $result['Post']['middle_name'],
            $result['Post']['last_name'],
        );
    }
    else {
            $row1 = array(
            $result['Post']['prefix_name'],
            $result['Post']['first_name'],
            $result['Post']['middle_name'],
            $result['Post']['last_name'],
        );
    }

    $row = array_merge($row1,$row2);

    unset($row2);
    fputcsv($csv_file,$row,',','"');
}

    fclose($csv_file);
    exit;
}

答案 1

你不能。。。CSV 文件没有任何类型的格式,包括列大小。

如果要控制列宽,则需要将数据写入支持列宽的格式,例如 BIFF (.xls) 或 OfficeOpenXML (.xlsx) 或 OASIS Open Document Format (.ods) 或 Gnumeric 或其他电子表格。


答案 2

没有办法做到这一点。
CSV 代表昏迷分隔值

逗号分隔值 (CSV) 文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着文件是一个字符序列,没有必须解释为二进制数的数据。CSV文件由任意数量的记录组成,由某种换行符分隔;每条记录由字段组成,由其他一些字符或字符串分隔,最常见的是文字逗号或制表符。通常,所有记录都具有相同的字段序列。

简短明了的定义。
CSV对此太原始了。
你有没有试过用通常的文本编辑器打开CSV文件?
在这种情况下,您需要 XLS。


推荐