有没有办法用php格式化csv文件的单元格?例如,我有一个csv文件,在导出it.And之前,我需要格式化它的单元格大小。另一件事是,对于多位数字的数字,excel在我点击它之前以另一种格式显示它,我也想去掉它。
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=export.csv');我知道我必须展示我已经尝试过的东西,但是我找不到关于这个的任何信息,所以我没有地方可以开始.
编辑:文件是csv,但我使用它作为excel文件,而excel单元是需要格式化的。
发布于 2014-12-22 13:38:24
CSV格式仅由原始值组成;没有存储格式或数据类型信息的方法。这就是为什么大多数(如果不是全部)电子表格应用程序在导入CSV文件时允许用户手动设置列类型的原因。
如果您想让用户免于这样做的麻烦,最好的选择是生成一个xls/xlsx,而不是CSV。PHPExcel是一个流行的用于生成Excel文件的PHP库,您可能需要尝试一下。
发布于 2020-04-24 03:27:57
自从被接受的答案在2014年被写出来以来,PHPExcel库就被抛弃了。这是最后一个版本,1.8.1,发布于2015年。它在2017年被正式否决,永久存档在2019年被正式否决。它的直接接班人是PhpSpreadsheet。
发布于 2014-12-22 13:41:48
PHP可以使用str_getcsv (getcsv)将CSV字符串解析为数组。从这里开始,这只是编辑数组值的问题。
至于更高级的特性,CSV格式本身并不支持它们,因为它是纯文本格式,PHP和CSV文件都不能决定Excel应该如何解析该文件。
我已经成功地导出了Excel文件(旧的纯文本XML文件,而不是新的压缩文档),如果数据表示对您来说很重要,那么这可能是可行的方法。
https://stackoverflow.com/questions/27603539
复制相似问题