名词解释:什么是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格式
1、如果字段里面带双引号需要用 chr(34) 包括起来
2、字段里面有html代码的话 需要用replace(str,vbcrlf,"") 替换掉 字段里面 vbcrlf 代码
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(,,","))
%>
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 代码
找回快速启动栏"显示桌面"图标
windows 2003装声卡驱动


2009/08/28 20:04 | by 
tommyhu:
