我是VB的初学者,并且正在使用一种快速工具来将数据从excel工作表中提取到SQL Server中。
我可以实际打开/操纵excel文件,但是我想根据创建的日期来限制要处理的文件,但是我正在努力寻找解决方案
因此,为了获得所有路径,我只是使用:
Dim fname As String
For Each file As String In Directory.GetFiles(pathtoscan)
fname = Path.GetFileName(file)
哪种方法都能很好地获取所有内容(随我所愿,将其写入SQL Server表),但是当然上述内容意味着获取每个路径,在此,我想通过仅获取在a之后创建的路径来对其进行“优化”确定的日期。
这是可行的吗,还是仅仅是抓住所有路径后进行过滤,是否意味着没有更好的“性能”?
非常感谢。
答案 0 :(得分:3)
您可以使用LINQ和File.GetCreationTime
:
user_id created_on weight height
2 19-01-01 01:00:00 80 180
2 19-01-02 00:00:00 181
2 19-01-04 04:00:00 81
2 19-01-07 06:00:00 84 184
也使用Dim relevantFiles = From f In Directory.EnumerateFiles(pathtoscan)
Where File.GetCreationTime(f) > yourDate
For Each file As String In relevantFiles
' ... '
Next
代替EnumerateFiles
。后者返回所有文件的数组,然后再开始过滤它们。前者一个接一个地返回。