我必须导入一系列CSV文件并将记录放入Access数据库。这本身并不是一个问题。
复杂性来自于每个CSV文件的格式可变,因为字段数可能会有所不同。
考虑这一点的最佳方式是有80个主域,每个CSV文件可能包含这80个字段的任何子集。告诉您正在处理的内容的唯一方法是查看CSV文件中的字段标题。写入Access文件的数据必须包含所有80个字段(因此需要将缺少的字段写为空值)。
有没有人知道处理此变量映射/导入的任何代码,而不是重新发明轮子?
或者任何正确方向的指针都会受到赞赏。
答案 0 :(得分:4)
适用于.NET的最佳CSV阅读器库是LumenWorks'。它不会将数据插入到Access中,我认为您仍然需要编写一些代码来处理列差异,但它会比滚动自己的解析器更容易,而且速度会更快。
答案 1 :(得分:0)
通常,重复数据传输的基本自动CSV导入应该符合商定规范的一致输入文件。
如果用户将CSV文件导入应用程序,则可以通过列出CSV文件中的字段来完成基本映射(例如,读取第一行中的值) 并在主菜(db)字段列表旁边有一个下拉字段。
您可以通过保存输入字段索引列表或具有相应主字段索引/ ID /名称的名称来保存映射以供将来参考。