Sök  
 
Skribent Inlägget Löst
Google
 
     

  Forum » ASP.NET 2.0 » Excel till SQL  
 
Skriven av: Flcl | den 1 juli 2011 Kl 14:46
Excel till SQL
Vet inte om detta är fel forum... Håller på med en sida där jag vill att man ska kunna skriva in datan i en Excelfil till SQL. Jag har provat lite olika sätt och det jag tror borde fungera, men som inte gör det är:

string server = "PHILIP-DATOR\\SQLEXPRESS";
string db = "Test";
string user = "jjhp";
string pass = "****";
string tableName="tdbo.ExcelData";
string filename="C:\\Users\\Philip\\Desktop\\M.System\\Excel.xls";

string serverConnectionString="Server="+server+";Database="+db+";Uid="+user+";Pwd="+pass+";";


//step 1
// Load Excel data into DataTable
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" + filename + ";Extended Properties='Excel 12.0;HDR=YES;'";

string strSQL = "SELECT * FROM [Blad1$]";
OleDbConnection excelConnection = new OleDbConnection(connectionString);
excelConnection.Open(); // This code will open excel file.

OleDbCommand dbCommand = new OleDbCommand(strSQL, excelConnection);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(dbCommand);

// create data table
DataTable dTable = new DataTable();
//fill table with echel data
dataAdapter.Fill(dTable);

//step 2
//connect to server


using (SqlConnection destinationConnection =
new SqlConnection(serverConnectionString))
{

destinationConnection.Open();


using (SqlBulkCopy bulkCopy =
new SqlBulkCopy(destinationConnection))
{
//Destination Table must match columns in Excel sheet
bulkCopy.DestinationTableName = tableName;

try
{
// Write from the source to the destination.
bulkCopy.WriteToServer(dTable);

}
catch (Exception ex)
{

  Console.Write("fel " + ex);
}

destinationConnection.Close();

}
}

// dispose used objects
dTable.Dispose();
dataAdapter.Dispose();
dbCommand.Dispose();

excelConnection.Close();
excelConnection.Dispose();
}


Jag får ett fel när jag klickar på knappen på sidan:
Det går inte att hitta installerbar ISAM.

What to do? googlar men hittar inget som fungerar.. Kanske borde köra någon annan kod?

Antal svar 1




Skriven av: vimpyboy | den 1 juli 2011 Kl 15:04
Jag själv brukar använda Excel-API:erna för sådant. De är varken snygga eller smidiga, men de fungerar iaf som väntat... Ibland. ;)

Du kan hitta en del information här:
http://msdn.microsoft.com/en-us/office/aa905411

Om du använder .NET 4.0 så kan du med optional parameters klara dig undan rätt bra när du skapar instanser av objekten, och med dynamic så kommer du lindrigt undan vid anropen till olika metoder, vilket du kan se här:
http://www.devx.com/dotnet/Article/42590

Kör du .NET 3.5 eller tidigare så blir det inte lika kul:
http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas(v=vs.80).aspx
 
     

  Svara på inlägg  
 
Du måste vara medlem på ASPsidan för att kunna skriva i forumet.
För att bli medlem klicka här.
 
     

  » Logga in  
 
Användarnamn

Lösenord

 
     

  » Bli medlem  
  Bli medlem på ASPsidan!  
     

     
  Microsoft  
     

  » Partners  
  Comsolvia  
     
  » ANNONS  
  ingen annons än  
     

  » Senast online  
  Endast för inloggade  
  Antal inloggade: 1  
     

Copyright © 2007 www.ASPsidan.se
ingen sponsrar längre ASPsidan med Dedikerad Server
ASPsidan RSS
   
 XHTML / CSS
Det tog 0,4688 sekunder att ladda sidan