在php中格式化csv(excel)单元格

在php中格式化csv(excel)单元格,php,excel,csv,format,Php,Excel,Csv,Format,有没有办法用php格式化csv文件的单元格?例如,我有一个csv文件,我需要在导出它之前格式化它的单元格大小。另一件事是,对于有许多数字的数字,excel会在我单击它之前以另一种格式显示它,我也想去掉它 header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=export.csv'); 我知道我必须展示我已经尝试过的东西,但我找不到任何关于这方面的信息,

有没有办法用php格式化csv文件的单元格?例如,我有一个csv文件,我需要在导出它之前格式化它的单元格大小。另一件事是,对于有许多数字的数字,excel会在我单击它之前以另一种格式显示它,我也想去掉它

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=export.csv');
我知道我必须展示我已经尝试过的东西,但我找不到任何关于这方面的信息,所以我无处着手


编辑:该文件是csv文件,但我将其用作excel文件,excel单元格是需要格式化的单元格

csv格式只包含原始值;无法存储格式或数据类型信息。这就是为什么大多数(如果不是全部的话)电子表格应用程序允许用户在导入CSV文件时手动设置列类型


如果您想让用户省去这么做的麻烦,那么最好的选择是生成xls/xlsx,而不是CSV。是一个用于生成Excel文件的流行PHP库,您可能想尝试一下。

PHP可以使用
str_getcsv
()将CSV字符串解析为数组。从这里开始,只需编辑数组的值

至于更高级的功能,CSV格式本身不支持它们,因为它是纯文本格式,PHP和CSV文件都不能决定Excel应该如何解析文件


我成功地导出了Excel XML文件(旧的纯文本XML文件;而不是新的压缩文件),如果数据表示对您很重要,这可能是一条出路。

自2014年编写了公认的答案以来,PHPExcel库已被废弃。它的最新版本1.8.1于2015年发布。它在2017年和2019年被正式弃用。它的直接继承者是。

主要问题:您想要CSV还是excel生成?@Naruto,因为我使用了这些标题,我认为这是CSV,但我用excel打开它,excel单元格就是我想要用phpWell格式化的单元格。最后您想要什么?CSV文件(只是一个值分开的文件?或excel,在其中您可以比在CSV中更好地看到值?