【问题标题】:Import Excel Data to SQL Server 2008 Using Visual Studio 2008 C#/ASP .NET web application [closed]使用 Visual Studio 2008 C#/ASP .NET Web 应用程序将 Excel 数据导入 SQL Server 2008 [关闭]
【发布时间】:2013-05-26 18:49:00
【问题描述】:

我想知道如何将 excel 文件导入 SQL Server 2008。例如,我有一个文本框、浏览按钮和导入按钮。我将单击浏览并浏览 excel 文件,然后单击导入以插入到数据库中的特定表中 excel 文件中的所有数据(不是创建新表)。有没有人知道这个代码?把它们放在哪里?非常感谢您。 :)

【问题讨论】:

  • 这是一项艰巨的任务,有多种方法可以做到。与每个编程问题一样,我建议将其分解为更小的步骤并研究如何解决每一个问题。诸如“如何读取文件”、“如何在 C# 中创建类/对象”、“如何解析字符串”、“excel 阅读器库”、“如何连接到数据库”等步骤......跨度>
  • 我已经搜索了好几个小时,但我无法理解我阅读的大部分内容。他们昨天才给了我这项工作,稍后到期,我对此一无所知。这是我能想到的唯一方法,在这里问。我很抱歉我的问题。谢谢! :)
  • I cant understand most of the things I read。编码不是你一天就能学会的东西,它需要数年时间。请阅读一本书以了解如何理解它。 stackoverflow.com/questions/194812/…

标签: c# asp.net sql-server excel import


【解决方案1】:

我没有尝试过这个,但我认为它有两个主要步骤。

  1. 你必须创建一个可以打开和读取excel文件内容的函数
    参考:How to open an Excel file in C#?
  2. 读取excel文件内容并导入数据库表
    参考:http://www.codeproject.com/Articles/14528/Generate-SQL-INSERT-commands-programmatically
    创建新表:
    create sql table programmatically

希望能给点思路。

【讨论】:

  • 我现在正在阅读,谢谢.. :)
【解决方案2】:

你可以试试这个

//代码 ....

Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Web.Configuration


    'Declare Variables - Edit these based on your particular situation
    Dim sSQLTable As String = "TempTableForExcelImport"
    Dim sExcelFileName As String = "myExcelFile.xls"
    Dim sWorkbook As String = "[WorkbookName$]"



    'Create our connection strings
    Dim sExcelConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(sExcelFileName) & ";Extended Properties=""Excel 8.0;HDR=YES;"""
    Dim sSqlConnectionString As String = WebConfigurationManager.ConnectionStrings("MyConnectionString").ToString


'Execute a query to erase any previous data from our destination table
Dim sClearSQL = "DELETE FROM " & sSQLTable
Dim SqlConn As SqlConnection = New SqlConnection(sSqlConnectionString)
Dim SqlCmd As SqlCommand = New SqlCommand(sClearSQL, SqlConn)
SqlConn.Open()
SqlCmd.ExecuteNonQuery()
SqlConn.Close()

'Series of commands to bulk copy data from the excel file into our SQL table
Dim OleDbConn As OleDbConnection = New OleDbConnection(sExcelConnectionString)
Dim OleDbCmd As OleDbCommand = New OleDbCommand(("SELECT * FROM " & sWorkbook), OleDbConn)
OleDbConn.Open()
Dim dr As OleDbDataReader = OleDbCmd.ExecuteReader()
Dim bulkCopy As SqlBulkCopy = New SqlBulkCopy(sSqlConnectionString)
bulkCopy.DestinationTableName = sSQLTable
bulkCopy.WriteToServer(dr)
OleDbConn.Close()

【讨论】:

  • 感谢您的帖子。当问题以某种语言标记时,通常最好以该语言发布代码。
猜你喜欢
  • 2011-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
相关资源
最近更新 更多