当前位置:编程学习 > C#/ASP.NET >>

.net中导出cvs文件如何处理特殊字符

比如对应的值中包含逗号(,)双引号(")  等特殊字符.我是用,逗号分割的每列的值。 --------------------编程问答-------------------- 简单点 如果  AB,CD里有, 那结果是 "AB,CD"  如果有"号  那就是双的例如 AB""CD  "AB""""CD" --------------------编程问答-------------------- G:\format.xml
数据库2005

<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="20" COLLATION="Chinese_PRC_CI_AS"/>
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="Chinese_PRC_CI_AS"/>
  <FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="20" COLLATION="Chinese_PRC_CI_AS"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="userName" xsi:type="SQLVARYCHAR"/>
  <COLUMN SOURCE="2" NAME="address" xsi:type="SQLVARYCHAR"/>
  <COLUMN SOURCE="3" NAME="phone" xsi:type="SQLVARYCHAR"/>
 </ROW>
</BCPFORMAT>



G:\test.txt

userName,address,phone
hua,湖南,5971898


--SQL SERVER
--创建表
CREATE TABLE userinfo(id INT identity,userName varchar(20),
                      pass varchar(20),address varchar(100),phone varchar(20),
                      email varchar(128),registerTime datetime)

--导入
INSERT INTO userinfo(userName,address,phone)
SELECT * FROM OPENROWSET(BULK 'G:\test.txt',FORMATFILE='G:\format.xml',FIRSTROW=2) AS T;

--查看数据
SELECT * FROM userinfo;

/*
id          userName      pass      address      phone    email     registerTime     
----------- --------- ---------- ----------- ---------- ---------- -------------
1           hua           NULL        湖南    5971898      NULL       NULL

(1 行受影响)
*/

--------------------编程问答-------------------- http://topic.csdn.net/u/20090913/15/fa2e7e65-73d8-4b64-b6e0-bd583f564d86.html
http://topic.csdn.net/u/20100630/16/c2674a8f-acde-4c26-a17d-034444ed0c9c.html
这两个你参考下 --------------------编程问答-------------------- 双引号""
csv可按照文本操作
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,