日期:2014-05-17  浏览次数:20453 次

如何从SQL数据库中导出其中一张表的结构到EXCEL!
我使用的平台是VS2012 SQL2012 WEB 
最近在学习过程中,需要将EXCEL里面的资料导入到SQL SERVER里面。
SQL里面的表结构已经建好了。
1.我就是这么想的,在WEB页面上,点一个按钮,把SQL数据库里面想要导出表结构的表,导出一个EXCEL文件并保存在本地。
2.然后在从其他不同结构的EXCEL表取需要的表字段数据,粘贴在刚导出的EXCEL文件里;
3.其次,再将粘贴了数据并结构化的EXCEL文件的数据对应导入到SQL SERVER里面。
以上是我的思路,也是在查相关的资料,但还没有得到解决的办法,请大神们给点建议,看我的方法是否合理,如果不合理,有更好的方法吗?

------解决方案--------------------
这个功能,可以考虑用smo对象来实现的,通过c#代码来实现。

你可以参考一下这个:

Smo类生成创建表的脚本语句
http://wenku.baidu.com/link?url=nE5yGi9k1dbJXvwVFAcbC7KXZojew0d20mlBRF8bHj6qwiGsUJt_TrZH3zbmhBHRKQnuXlWHe3fSdr2pQ6JzcQ0OGMUhzCgWSGPG8gYFXcq
------解决方案--------------------
可以用System.Data.OleDb类的OleDBConnection对象,先取出来execel里面的数据,然后再导入到实体表里面;

    Public Function Query(ByVal Sql As String) As DataSet
        Dim ExcelPathFile As String = "D:\Text\20131114.xls"
        Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExcelPathFile + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"
        Using connection As New OleDbConnection(ConnectionString)
            Dim ds As New DataSet
            Try
                connection.Open()
                Dim command As OleDbDataAdapter = New OleDbDataAdapter(Sql, connection)
                command.Fill(ds, "ds")
            Catch ex As System.Data.OleDb.OleDbException
                Throw New Exception(ex.Message)
            End Try
            Return ds
        End Using
    End Function

    Public Sub ImportDataBaseInfo()
        '根据excel里面的字段,可以导入创建个临时表,先导入到临时表,然后再导入到实体表
        Dim i As Integer = 0
        Dim dt As DataTable
    &nb