0

因此,我在 Excel 中有一个巨大的文件,我想将其用于 Visual Studio WPF 中的用户界面。我将其余的数据库存储在 Visual Studio 附带的 SQL Server 中。有什么方法可以将这些数据从 Excel 导入到我的 Visual Studio Sql Server 中?

谢谢你的帮助。

4

2 回答 2

0

如何:运行 SQL Server 导入和导出向导

于 2011-02-22T00:41:10.363 回答
-1

就我个人而言,我会使用 Microsoft.Office.Interop.Excel 命名空间并编写一些类似这样的代码,将文件保存为 CSV,然后使用 BULK COPY 命令或在 Microsoft c#.net 中将其转储到 SQL 中,您可以使用

SqlBulkCopy 对象来执行此操作。

因此,您将逐行读取 CSV 并将其写入 DataTable。然后使用以下内容写入 SQL。

VB.NET 中的 bulkCopy 对象示例(对不起,我在 vb.net 中使用它而不是 c#)

 Public Function InsertDataToDatabase(ByVal _strDestinationTableName As String, ByRef _dtData As DataTable, ByRef _sqlConnection As SqlConnection) As Boolean
        Try

            RaiseEvent BulkCopyStartEvent(Me, _dtData.Rows.Count())

            OpenConnection()

            sBulkCopy = New SqlBulkCopy(DatabaseConnection)

            'Clear out all data in the TmpTable

            Dim sqlComm As New SqlCommand(String.Format("TRUNCATE TABLE {0}", _strDestinationTableName), DatabaseConnection)
            sqlComm.ExecuteNonQuery()

            With sBulkCopy

                sBulkCopy.DestinationTableName = _strDestinationTableName
                sBulkCopy.NotifyAfter = _dtData.Rows.Count / 100 ' Notify after every 1%
                sBulkCopy.WriteToServer(_dtData)
                sBulkCopy.Close()
            End With

            RaiseEvent BulkCopyCompleteEvent(Me, _dtData.Rows.Count(), arrExceptionStringList.Count())

            Return True

        Catch ex As BulkCopyUtilityErrorException
            RaiseEvent BulkCopyErrorEvent(Me, ex)
        Finally
            CloseConnection()
        End Try
    End Function
于 2011-02-22T00:57:46.950 回答