CSV格式 - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
Aug 28

CSV格式 不指定

名词解释:什么是CSV格式(百度百科http://baike.baidu.com/view/468993.htm
CSV逗号分隔值文件(Comma Separated value),是一种用来存储数据的纯文本文件格式,通常用于电子表格或数据库软件。如果你的机器上装了Microsoft Excel的话,.csv文件默认是被Excel打开建议您千万不要这么做)的。

因为CSV档如果以EXCEL开启,由于计算机档案数据转换的原因,会将其CRC之数值改做科学记号方式储存,而造成档案中的CRC值发生错误。

如果想一窥CSV档的真实面貌,笔者建议您使用WORDPAD或是记事本(NOTE)来开启,再则先另存新档后用EXCEL开启,也是方法之一。 开启后的CSV档包含了四或五个字段(部分),由左至右分别记载着:文件名称(XXXX.JPG)、档案大小(以BYTE为单位)、CRC32值(八个英文字母或数字组成)、档案路径(档案储存的子目录名称)和档案内容描述(一般来说都是明星的英文姓名甚或是专辑名称,也可能空白)。 而其中第四栏「档案路径」因为每个人储存整理图档的方式不同,所以本栏通常不存在,而一般有含有「档案路径」这栏的CSV档,又称为ECSV档案


asp导出CSV格式
参数
strSQL 要导出的SQL查询语句
strFields 字段名称列表,如果为空字符,则使用SQL语句中的字段名

用法示例:
1:export.asp?strSQL=select * from table1
2:export.asp?strSQL=select ID,NAME,AGE FROM EMPLOYEES&strFields =编号,姓名,年龄

export.asp
<%
Response.Buffer = true
Response.AddHeader "Content-Disposition","attachment;filename=exportdata.csv;"
Response.CharSet = "bg2312"
Response.ContentType = "application/octet-stream"

Dim DBName,Conn
DBName="DATA/EPM.mdb" '定义数据库路径及名称
SET Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DBName)

DIM strSQL,strFields
DIM RST
DIM I

strSQL=REQUEST("strSQL")
strSQL=replace(strSQL,"%","%") '解决%号丢失问题, 参数中把%变成全角的,不然全丢失
strSQL=replace(strSQL,"#","#") '解决#号丢失问题
strFields=REQUEST("strFields")

'Response.Write(strSQL &VBCRLF)

SET RST = CONN.EXECUTE(strSQL)

IF RST.EOF THEN
Response.Write("没有可导出数据!")
response.end
END IF

IF LEN(strFields)>0 THEN
Response.Write replace(strFields,"ID","id") '防止出现SYLK文件打开提示
ELSE
FOR I =0 TO RST.FIELDS.COUNT-1
'strFields=strFields &RST.FIELDS(I).NAME & ","
'防止出现SYLK文件打开提示
'以ID(大写)内容开头的文件
strFields=strFields & replace(RST.FIELDS(I).NAME,"ID","id") & ","
NEXT
strFields=LEFT(strFields,LEN(strFields)-1)
Response.Write(strFields)
END IF

Response.Write(vbcrlf)

Response.Write(RST.GetString(,,","))

%>


1、如果字段里面带双引号需要用 chr(34) 包括起来
2、字段里面有html代码的话 需要用replace(str,vbcrlf,"") 替换掉 字段里面 vbcrlf 代码

▲返回顶部
Last modified by tommyhu on2009/09/14 11:55

Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot