当下软件园-绿色软件,免费软件下载,电脑软件下载,绿色软件下载网站
TAG标签| 网站地图| 设为首页| 加入收藏

数据库导出csv文件的读取

相关游戏 相关文章 发表评论字体大小:【 | |

admin 2024-09-13 16:10 www.kmgiq.com
ComicsViewer英文版 1.42种类:图像浏览大小:1010KB语言:英文 评分:7.5标签:立即下载由于工作中会接触到很多不一样的数据库,像 oracle,access,mssql,mysql,db2 等,比较杂。所以一直想做一个通用的数据查看工具,支持所有些数据库,操作界面统一为 mssql 2005 的界面,如此可以少安装不少推广客户端工具,也无需在不一样的数据库推广客户端工具之间切换来切换去了。先放一个初始的截图,和mssql的操作界面一样,左侧是表、列信息显示区,右上是 sql 语句录入区,右下是结果显示区

支持表和字段的自动提示,支持 csv,excel 的导入导出

ps:图中连接的数据库为 IBM DB2 9.5在做数据导入导出功能时,最基本的 csv 文件格式必须要支持吧,当时就想 csv还不简单,无非就是逗号分隔,回车换行的文本文件吗,非常快就写出来了刚开始的 csv 读取

public static string[][] read_csv

{

var text_array = new Liststring[];

string[] lines = text.Split;

foreach

{

if )

{

string[] fields = line.Split;

text_array.Add;

}

}

return text_array.ToArray;

}public text)

{

lines)

.IsNullOrEmpty)

);

text_array.Add;

}

text_array.ToArray;

开始所有都好,没遇见那些问题,后来用的多了,问题开始出现了,发现有的 csv的字段中含有逗号,这下完了,遇见逗号就当成另外一个字段了,当然会显示错误,原来当初太轻视 csv 文件了,呵呵,事实上csv 也是有一些应该注意的规范的。

1.假如csv文件字段中有特殊字符,整个字段应该用双引号包起来

特殊字符有三种, 逗号[,] 回车换行[\r\n] 和处于字段开头的双引号[]

比如:字段 a, b,c(b,c 文本中包括逗号) ,d 就应该变成 a,b,c,d

有回车换行的也是一样

2.假如 csv字段中有特殊字符,并且字段中含有双引号,则字段中的双引号应该写两次

比如:字段 a, b,caa ,d

就应该变成 a,b,caa,d

有了这两个规范,把读取办法重新修改一下就完了,也不复杂修改后的 csv 读取public static string[][] read_csv

{

if

return null;

var text_array = new Liststring[];

var line = new Liststring;

var field = new StringBuilder;

//是不是在双引号内

bool in_quata = false;

//字段是不是开始

bool field_start = true;

for

{

char ch = text[i];

if

{

//假如已经处于双引号范围内

if

{

//若是两个引号,则当成一个普通的引号处置

if

{

field.Append;

i++;

}

else

//不然退出引号范围

in_quata = false;

}

else //双引号范围内的任何字符(除去双引号)都当成普通字符

{

field.Append;

}

}

else

{

switch

{

case ',': //新的字段开始

line.Add);

field.Remove;

field_start = true;

break;

case '\'://引号的处置

if

in_quata = true;

else

field.Append;

break;

case '\r': //新的记录行开始

if

{

line.Add);

field.Remove;

}

text_array.Add);

line.Clear;

field_start = true;

//在 window 环境下,\r\n一般是成对出现,所以要跳过

if

i++;

break;

default:

field_start = false;

field.Append;

break;

}

}

}

//文件结束

if

line.Add);

if

text_array.Add);

return text_array.ToArray;

}

经过修改后,基本上就没遇见那些问题了。

TAG标签:csv(1)

转载请说明来源于当下软件园(https://www.gpsdan.com)

本文地址:https://www.gpsdan.com/news/250.html

郑重声明:文章来源于网络作为参考,本站仅用于分享不存储任何下载资源,如果网站中图片和文字侵犯了您的版权,请联系我们处理!邮箱3450399331@qq.com

相关游戏

其他版本

相关文章

游戏攻略