转自:http://blog.sina.com.cn/s/blog_468530a60100kjpy.html

CSV文件默认以英文逗号做为列分隔符,换行符作为行分隔符。
如果不提供网页形式只用命令行或二进制程序输出数据到CSV,只需要将数据段按,分割,行按\n分割,写入到一个.csv文件即可。
但有时字段里含有,和换行符就麻烦了,数据输出会出现混乱。

这时可以使用双引号"来将每个字段内容括起来,CSV默认认为由""括起来的内容是一个栏位, 这时不管栏位内容里有除"之外字符的任何字符都可以按原来形式引用。

例如
"
; :k,j",email,是一行的内容,
"
;:k,j" 是一个单元格里的。
""
括起来的栏位内容里CSV默认的换行符也没关系。这样输出数据就很方便了。注意"是要加转义字符

eg,

$content = "\"".$result_name."\",\"".$result_employer."\",\"".$result_specialism."\",\"".$rank[0]."\",";

echo $content;


唯一需要注意的 就是若字段内容里含有"怎么办。这时只需将"替换成两个连续的英文双引号("")即可CSV会将字段里的两个双引号""显示成一个。

eg,

$result_specialism = str_replace("\"","\"\"",$datamap['specialism']->content());

如果需要使用网页导出数据的形式,需要写header了
以PHP为例:
首先做一个页面,是被下载的CSV文件页 saveCSV.php
<?php
//指明此文件类型,页面类型
header("Content-Disposition: attachment; filename=".$filename.".csv");
header(''Content-Type:text/csv'');

/*

处理数据输出

*/
?>
直接点击到一个php页面就能下载了
form里用一 个<input type='button' value='导出CSV' onclick='saveCSV()'/>,saveCSV()是一个JS方法,将form的action指向saveCSV.php

http://www.cnblogs.com/chyong168/archive/2012/03/22/2411002.html

导出csv文件时,处理分隔符问题(转)的更多相关文章

  1. 导出csv文件时韩文乱码解决方法

    从asp.net导出csv这样配置可以防止韩文等乱码,在头部加上0xEF, 0xBB, 0xBF: string fileName = "attachment;filename=" ...

  2. mysql导出csv文件excel打开后数字用科学计数法显示且低位变0的解决方法

    Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0. Excel打开csv文件时,只要字段值都是数字,它 ...

  3. PHP导出CSV文件出现乱码的解决方法

    在做项目时碰到使用外语的情况下,我们就会使用UTF-8编码.但是,在用PHP导出CSV文件时,如果写入的数据是使用UTF-8编码的日语.韩语之类的外文,就会出现乱码. 要解决PHP生成CSV文件的乱码 ...

  4. 导出csv文件示例

    导出csv文件示例 csv文件默认以英文逗号,做为列分隔符换行符\n作为行分隔符,写入到一个.csv文件即可.含有英文逗号,和换行符会发生数据输出会出现混乱,下面列出一些处理方法.特殊字符处理1.含有 ...

  5. MySQL直接导出CSV文件,并解决中文乱码的问题

    需求: 需要导出hr_users 表中的部分字段的数据,以前是用PHP写脚本,然后导出CSV文件. 在MySQL中,它自己就能导出CSV文件 ,只不过是有如下几个问题需要大家解决. 1. 生成文件不成 ...

  6. PHP之导出CSV文件

    序言 Q1:什么是csv文件? A1:csv即 comma-separated values ,逗号分隔值.是一种通用的相对简单地文件格式,目前被较为广泛的使用.其最广泛的应用就是用来转移表数据. “ ...

  7. 导出csv文件数字会自动变科学计数法的解决方法

    其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0.解决 ...

  8. 转:导出csv文件数字会自动变科学计数法的解决方法

    导出csv文件数字会自动变科学计数法的解决方法   其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科 ...

  9. 【 D3.js 进阶系列 — 1.2 】 读取 CSV 文件时乱码的解决方法

    在 D3 中使用 d3.csv 读取 CSV 文件时,有时会出现乱码问题. 怎么解决呢? 1. 乱码问题 使用 d3.csv 读取 xxx.csv 文件时.假设 xxx.csv 文件使用的是 UTF- ...

随机推荐

  1. Please verify you invoked Maven from the correct directory

    解决办法: 在cmd中,把当前路径转换到一个含有pom文件的 项目路径下 再使用 类似下面的deploy就行 mvn deploy:deploy-file -DgroupId=com.taobao.n ...

  2. !!!!!安卓界面总是显示载入进度条的问题,没事别乱用ListFragment

    近期的安卓应用快完工了.可是个别界面有瑕疵,怎么改动都解决不了.挥之不去的阴影.问题例如以下: 在界面上,数据已经载入完成了.可还是有一股圆形的进度条,感觉它老是在载入什么东西,严重影响界面美观: 1 ...

  3. Swift - 自定义函数规则说明

    1,无返回值的函数 1 2 3 func test(name:String){   } 2,返回一个返回值 1 2 3 func test(name:String) -> Bool{     r ...

  4. HP MSA2312 ERROR

    司在用的hp MAS2312存储其中一台每天都会报一个错误 EVENT:Vdisk verification failed. Command failed. (error code: 1) 2 err ...

  5. LINUX编程学习笔记(十三) 遍历目录的两种方法

    1 默认情况下  实际用户和有效用户是一样的 实际用户:执行用户   有效用户:权限用户 getuid()  实际用户 geteuid() 有效用户 chmod u+s 之后 ,其他人执行文件时,实际 ...

  6. ArcSDE当关系查询ArcMap与REST查询结果不一致问题的解决

    首先描述来形容什么问题: 周边环境:ArcGIS10.x.Oracle 11g R2,这个问题无关与环境 假设用户使用关联查询(比方一个空间数据与一个属性数据进行关联),在ArcGIS for Des ...

  7. H2O是开源基于大数据的机器学习库包

    H2O是开源基于大数据的机器学习库包 H2O能够让Hadoop做数学,H2O是基于大数据的 统计分析 机器学习和数学库包,让用户基于核心的数学积木搭建应用块代码,采取类似R语言 Excel或JSON等 ...

  8. NET Core 1.0 RC2

    NET Core 1.0 RC2 历险之旅 文章背景:对于.NET Core大家应该并不陌生, 从它被 宣布 到现在已经有1-2年的时间了,其比较重要的一个版本1.0 RC2 也即将发布..Net C ...

  9. JavaScript 基础优化(读书笔记)

    1.带有 src 属性的<script>元素不应该在其<script>和</script>标签之间再包含额外的 JavaScript 代码.如果包含了嵌入的代码,则 ...

  10. 通过YAJL生成json语句

    这里主要介绍的是怎样通过yajl生成一个json语句.方法通过代码就能够非常清楚的看到了,只是这里仅仅加入了字符串. 假设须要加入其它类型的,能够查考yajl的手冊,调用其它函数进行加入. /* * ...