从xls文件读取数据,然后使用vb.net更新到dbf文件

时间:2013-03-18 04:37:58

标签: vb.net xls dbf

我想问一下,是否可以读取* xls文件中的数据,然后根据使用vb.net脚本的人员ID获取数据并更新到* .dbf文件?如果是的话,我是否需要先将xls转换为dbf然后进行更新,或者只是读取xls并更新到dbf文件而不进行转换?

1 个答案:

答案 0 :(得分:0)

您可以使用COM读取xls文件,然后使用从Excel中读取的数据更新数据库,无需转换任何内容。

说将excel数据转换为访问数据库并使用查询从那里更新数据可能更简单。这取决于您的数据的复杂程度以及执行此任务的频率。

顺便说一下,VB.NET不是一种脚本语言,它是一种预编译语言。我假设通过说“脚本”你正在考虑vba?你想要做的事情也可以在vba中完成......但是...

更新:

以下是我认为你应该如何处理的一些细节。您可以谷歌每个步骤所需的所有东西。

从Excel中读取数据:

如果可以的话,你应该真正避免一大堆工作并将数据导出到csv格式文件,并使用StreamReader读取它。 如果您确实需要直接从Excel中读取它,则需要使用COM自动化路径,并且应该查看使用Microsoft.Office.Interop.Excel命名空间。它与通过vba自动化Excel非常相似,所以如果你熟悉它,它应该相对容易。

将数据写入数据库:

这部分非常简单。使用System.Data.OleDB命名空间创建与数据库的连接,然后使用正确的查询生成OleDBCommand以插入数据,并且您已完成操作。如果您有一个复杂的数据库并想要操纵大量数据,您应该真正了解调整LinqToSQL框架以使用访问权限或如何使用IQToolkit

我希望这会有所帮助。

更新2:

记得几个星期前我写了一个将数据写入Excel的方法。它与读取数据不同,但它应该非常相似......事实上,读取数据应该更简单。看看这是否有助于您入门:

您需要导入Microsoft.Office.Interop.Excel才能使其正常工作

Private Function ExportToExcelFile(ByVal FileName As String) As Boolean

    With New Excel.Application
        With .Workbooks.Add()
            For Each sheet As Worksheet In .Worksheets
                If sheet.Index > 1 Then
                    Call sheet.Delete()
                End If
            Next
            With CType(.Worksheets(1), Worksheet).Range("A1")
                ' Do stuff with the cells in you spreadsheet here
            End With
            Call .SaveAs(FileName)
        End With
        Call .Quit()
    End With

End Function

用于将数据写入我最近提供给其他人的数据库here is an example