Hochladen einer Excel-Tabelle und Importieren der Daten in die SQL Server-Datenbank

Ich entwickle diese einfache Anwendung zum Hochladen einer Excel-Datei (.xlsx) und importieren Sie die in diesem Excel-Arbeitsblatt vorhandenen Daten in eine SQL Server Express-Datenbank in .NET

Ich verwende den folgenden Code beim Klicken auf die Schaltfläche "Importieren", nachdem ich die Datei durchsucht und ausgewählt habe.

<code>protected void Button1_Click(object sender, EventArgs e)
{
        String strConnection = "Data Source=.\\SQLEXPRESS;AttachDbFilename='C:\\Users\\Hemant\\documents\\visual studio 2010\\Projects\\CRMdata\\CRMdata\\App_Data\\Database1.mdf';Integrated Security=True;User Instance=True";
        //file upload path
        string path = FileUpload1.PostedFile.FileName;
        //string path="C:\\ Users\\ Hemant\\Documents\\example.xlsx";
        //Create connection string to Excel work book
        string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;Persist Security Info=False";
        //Create Connection to Excel work book
        OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
        //Create OleDbCommand to fetch data from Excel
        OleDbCommand cmd = new OleDbCommand("Select [ID],[Name],[Designation] from [Sheet1$]", excelConnection);
        excelConnection.Open();
        OleDbDataReader dReader;
        dReader = cmd.ExecuteReader();
        SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
        //Give your Destination table name
        sqlBulk.DestinationTableName = "Excel_table";
        sqlBulk.WriteToServer(dReader);
        excelConnection.Close();
    }
</code>

Aber der Code läuft nicht, wenn ich es benutze

<code>string path = FileUpload1.PostedFile.FileName;`
</code>

und selbst

<code>string path="C:\ Users\ Hemant\Documents\example.xlsx";` 
</code>

DasdReader kann den Pfad in diesem Format nicht übernehmen.

Der Pfad kann nur im folgenden Format angegeben werden

<code>string path="C:\\ Users\\ Hemant\\Documents\\example.xlsx";
</code>

d.h. mit dem\\ Dafür muss ich den Pfad hart codieren, aber wir müssen die Datei durchsuchen.

Kann also bitte jemand eine Lösung vorschlagen, um den Pfad zu verwenden, den dieFileUpload1 die Daten importieren?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage