我想知道是否可以根据列中包含的内容设置列的大小。 我希望当你打开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;
可以添加一些内容来调整列的大小,还是在其他地方?
答案 0 :(得分:5)
CSV文件根本不包含任何有关列宽的信息,这就是为什么即使您打开文件,设置列宽然后将其另存为CSV文件,下次打开它时也不会保存了你设置的宽度。所以不,你不能在打开时设置列的宽度。
答案 1 :(得分:0)
你可以用空格填充每个字段,直到达到预定的大小。但我想它仍然取决于你打开CSV文件的位置。无论如何,我认为这不是一个好习惯。