按用户定义将CSV导入类结构

时间:2010-05-28 21:47:03

标签: database vb.net csv

我有一个联系人管理器程序,我想提供导入csv文件的功能。问题是不同的数据源以不同的方式排序字段。我想为用户编写一个接口,告诉它字段顺序以及如何处理异常。

以下是许多可能的字段顺序之一的示例行: “ID#”,“姓名”,“排名”,“地址1”,“地址2”,“城市”,“州”,“国家”,“邮编”,“电话号码”,“电子邮件”,“加入日期” ,“赞助商ID”,“赞助商名称” “Z1234”,“Call,Anson”,“STU”,“1234 E. 6578 S。”,“”,“Somecity”,“TX”,“United States”,“012345”,“000-000-0000” ,“someemail@gmail.com”,“5/24/2010”,“z12343”,“量子独立”

请注意,在一个数据字段“名称”中,有一个逗号分隔姓氏和名字,而另一个则没有。

我的计划是为每个字段(即ID,名称,城市等)和一个语句“导入到”和列表框添加一行,其中包含以下选项:不导入,业务>加入日期,名字,压缩 并且程序将这些识别为对象的属性......

我还希望用户能够记录预设的字段顺序,以便他们可以将它们重新用于来自同一下载源的csv文件。

然后我还需要它来检查记录是否已经准备就绪(Anson Call的记录是否已准备好?)并允许用户告诉它如果有记录该怎么做(即邮寄地址可能有变化,如果该字段被填写覆盖,或者此邮寄地址无效,请保留此人的当前数据不变,覆盖其余部分。)

虽然我能够对此进行编码...我对此并不十分兴奋,我想知道是否有一个工具或一套工具可以准备好执行大部分功能...

我希望这是有道理的......

2 个答案:

答案 0 :(得分:1)

是否有标题行?

通常在CSV文件中,第一行是标题。

如果是这样,你可以使用标题行来确定顺序,只需要一个列名列表,并且只在列名不匹配时才提示用户(这可以自动添加到预定义列表中)。

修改

即使标题不存在,也很容易添加一个标题。该文件可以手动编辑。或者在程序中让用户定义它(从预定义列表中)

答案 1 :(得分:0)

我找不到任何准备好的工具,没有人回复,所以为了留下问题,直到另行通知答案是:否。