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

Database 按用户定义将CSV导入类结构,database,vb.net,csv,Database,Vb.net,Csv,我有一个联系人管理程序,我想提供导入csv文件的功能。问题是不同的数据源以不同的方式对字段排序。我想为用户编程一个界面,告诉它字段顺序以及如何处理异常 以下是许多可能的字段顺序之一的示例行: “身份证”、“姓名”、“排名”、“地址1”、“地址2”、“城市”、“州”、“国家”、“邮政编码”、“电话”、“电子邮件”、“加入日期”、“赞助商身份证”、“赞助商名称” “Z1234”,“呼叫,安森”,“斯图”,“1234东6578南”,“某地”,“德克萨斯州”,“美国”,“012345”,“000-000

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

以下是许多可能的字段顺序之一的示例行: “身份证”、“姓名”、“排名”、“地址1”、“地址2”、“城市”、“州”、“国家”、“邮政编码”、“电话”、“电子邮件”、“加入日期”、“赞助商身份证”、“赞助商名称” “Z1234”,“呼叫,安森”,“斯图”,“1234东6578南”,“某地”,“德克萨斯州”,“美国”,“012345”,“000-000-0000”someemail@gmail.com,“2010年5月24日”,“z12343”,“量子独立性”

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

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

我还希望用户能够记录预设的字段顺序,这样他们就可以从相同的下载源将它们重新用于csv文件

然后我还需要它检查是否存在一个记录all ready(Anson Call all ready有记录吗?),并允许用户告诉它如果有记录该怎么做(即,邮寄地址可能有更改,因此,如果该字段已填充,则覆盖该字段,或者该邮寄地址无效,保持此人当前数据不变,覆盖其余部分)

虽然我能够编写这个…我对它不是很兴奋,我想知道是否有一个工具或一套工具可以随时执行大部分功能

我希望这是有意义的…

是否有标题行? 通常在CSV文件中,第一行是标题

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

编辑:


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

我在那里找不到任何准备就绪的工具,也没有人回答其他问题,因此为了在另行通知之前留下问题答案,答案是:没有。

是的,但并非所有标题都是相同的,即地址1、邮寄地址、大写无大写。。。(但通常会有一个标题行……重点是它们是可变的……我不是说我做不到,我只是想知道有多少已经准备好了……是的,这就是为什么我说可以使用预定义的列表,例如“地址1”、“邮寄地址”等,它们都会映射到同一个字段。任何与此列表不匹配的列,用户收到提示后,您只需将其添加到该列的列表中即可。好的,我明白您的意思,但仍可能存在当前数据与导入数据不同的情况,并且用户可能出于各种原因希望或不希望覆盖当前数据。我注意到许多csv工具,不确定其中是否有任何工具能够实现我可以帮助我,但我很好奇是否有什么东西可以处理所有这些异常(它们有很多…)。