我在PHP中使用fputcsv创建了一个CSV文件。文件创建成功,我可以在MacOS中打开文件,没有问题。(我在MacOS中使用数字)。问题是在微软的Excel中,它将所有行显示为合并的一列。
我在代码中将分隔符设置为“;”。
当我按照Microsoft文档中的说明检查语言和区域设置时,分隔符也是“;”。
我还应该检查什么?非常感谢。
下面的方法似乎对我很有用。微软Excel完美地打开了它。
$filePath = '/home/user/';
$filename = 'test.csv';
$df = fopen($filePath.$filename, 'w');
fprintf($df, chr(0xEF).chr(0xBB).chr(0xBF));
fputcsv($df, $dataColumns);
foreach ($dataArray as $dataRow) {
fputcsv($df, $dataRow);
}
fclose($df);
// Output csv
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename='.$filename);
header("Cache-Control: no-store, no-cache");
readfile($filePath.$filename);
fprintf($df, chr(0xEF). chr(0xBB). chr(0xBF));
为正确的编码写入文件头。 fputcsv(...)
的第三个参数来设置分隔符。这个标题将允许正确显示csv格式。
header('Content-Encoding: UTF-8');
header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename=filename.csv');
echo "\xEF\xBB\xBF";
你可以使用这个标题
问题内容: 我想创建一个csv文件,但是当我运行代码时,它返回一个空白页,没有csv文件。我使用PHP5。我使用以下代码: 谢谢! 问题答案: 其空白,因为您正在写信。您应该写到using 代替,还应该发送标头信息以表明它是csv。 例
我试着用protage软件打开它。会打开的。但是,里面没有类可以看到。为了在Protage中查看我生成的本体,我需要在这段代码中更改哪些内容?
问题内容: 我在MySQL数据库中有数据。我正在向用户发送URL,以将其数据作为CSV文件输出。 我已经通过电子邮件发送了链接,MySQL查询等内容。 当他们单击链接时,如何显示弹出窗口以从MySQL下载带有记录的CVS? 我已经掌握了所有信息以获取记录。我只是看不到如何让PHP创建CSV文件并让他们下载扩展名为.csv的文件。 问题答案: 尝试: 等等 编辑:这是我用来选择性编码CSV字段的代码
记事本++能够毫无问题地打开文件。我做错了什么? 更新:在JD的回答后,我尝试了以下内容: 仍然没有运气--现在我也可以在Excel中看到BOM(作为grabage)--我也尝试使用unicodecsv和其他一些选项,但再次没有成功:(
我有一个错误:PHP无法打开流:打开的文件太多。 我在这里查看了stackoverflow的各种答案,但我无法解决这个问题。我主要尝试增加最大打开文件数的限制: 我已编辑/等/安全/限制。conf,其中我指定了: 保存并注销/重新启动该框后,命令: 仍打印出1024个。我不知道为什么这没有效果,我想这就是我得到php错误的原因。如果需要,我可以粘贴整个文件或任何其他配置文件。我使用的是PHP 5.
我对Spark和Scala是新手。我们将广告事件日志文件格式化为CSV,然后使用PKZIP进行压缩。我已经看到了许多关于如何使用Java解压缩压缩文件的示例,但是如何使用Scala for Spark来实现这一点呢?我们最终希望从每个传入文件中获取、提取并加载数据到Hbase目标表中。也许这可以用HadooprDD来完成吗?在这之后,我们将引入Spark streaming来监视这些文件。