CSV会根据内容调整列大小

时间:2014-01-29 10:30:30

标签: php csv fwrite export-to-csv

我想知道是否可以根据列中包含的内容设置列的大小。 我希望当你打开CSV后,直接生成列的大小合适。

要在CSV中写入,我有以下代码:

$csvFile = fopen(CSV_FILE, $writeMode);
            $searchStr = array(";");
            $replaceStr = array(",");
            foreach ($csvArray as $csvArrayRow) {
                fwrite($csvFile, iconv("UTF-8", "Windows-1252",str_replace($searchStr, $replaceStr, html_entity_decode($csvArrayRow["title"], ENT_HTML401 | ENT_QUOTES, "UTF-8")).";"));
                fwrite($csvFile, iconv("UTF-8", "Windows-1252",str_replace($searchStr, $replaceStr, html_entity_decode($csvArrayRow["author"], ENT_HTML401 | ENT_QUOTES, "UTF-8")).";"));
                fwrite($csvFile, $csvArrayRow["date"].";"."\n");
            }
            fclose($csvFile);

            echo json_encode(array(count($csvArray)));

            exit;

可以添加一些内容来调整列的大小,还是在其他地方?

2 个答案:

答案 0 :(得分:5)

CSV文件根本不包含任何有关列宽的信息,这就是为什么即使您打开文件,设置列宽然后将其另存为CSV文件,下次打开它时也不会保存了你设置的宽度。所以不,你不能在打开时设置列的宽度。

答案 1 :(得分:0)

你可以用空格填充每个字段,直到达到预定的大小。但我想它仍然取决于你打开CSV文件的位置。无论如何,我认为这不是一个好习惯。

相关问题