heymmenneke
Nieuwe gebruiker
- Lid geworden
- 30 mei 2011
- Berichten
- 3
Hallo,
Ik ben bezig met het uitlezen van een excel sheet met behulp van c#. Nou heb ik dit allemaal mooi werkend, maar nog niet precies op de manier zoals ik het zou willen.
Ik krijg excel sheets aangeleverd met allemaal administratieve gegevens van producten. Deze sheets zijn automatische gegenereerd en de wijze daarvan kan ik niets aan doen.
Het probleem:
De excel bestanden bevatten altijd 1 sheet die volgens de zelfde wijze is opgebouwd, echter is er nooit een sheet naam ingegeven (dus links onder deze naam) en deze kan ik dus ook niet specifiek benaderen. Daardoor kan ik dus niks bij de from invullen.
Wanneer ik de excel handmatig open en de sheet een naam geef werkt mijn code gewoon, maar ik wil dat deze handeling niet nodig is. Heeft iemand hier een oplossing voor?
Voor de volledigheid hier een groter stuk van de code:
Mijn dank alvast,
Tom
Ik ben bezig met het uitlezen van een excel sheet met behulp van c#. Nou heb ik dit allemaal mooi werkend, maar nog niet precies op de manier zoals ik het zou willen.
Ik krijg excel sheets aangeleverd met allemaal administratieve gegevens van producten. Deze sheets zijn automatische gegenereerd en de wijze daarvan kan ik niets aan doen.
Het probleem:
De excel bestanden bevatten altijd 1 sheet die volgens de zelfde wijze is opgebouwd, echter is er nooit een sheet naam ingegeven (dus links onder deze naam) en deze kan ik dus ook niet specifiek benaderen. Daardoor kan ik dus niks bij de from invullen.
Code:
string ExcelQuery = "Select datum from [sheetNaam$]";
Voor de volledigheid hier een groter stuk van de code:
Code:
public int LeesDatum()
{
int datum = 0;
try
{
string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + DataFile + "; Extended Properties=\"Excel 8.0;HDR=YES;\"";
OleDbConnection ExcelConnection = new OleDbConnection(ConnectionString);
string ExcelQuery = "Select datum from [sheetNaam$]"; // from Sheet1
OleDbCommand ExcelCommand = new OleDbCommand(ExcelQuery, ExcelConnection);
ExcelConnection.Open();
OleDbDataReader ExcelReader;
ExcelReader = ExcelCommand.ExecuteReader();
while (ExcelReader.Read())
{
datum = Convert.ToInt32(ExcelReader.GetValue(0).ToString());
}
ExcelConnection.Close();
}
catch
{
System.Windows.Forms.MessageBox.Show("Het uitlezen van het bestand is mislukt.", "Uitlezen mislukt.");
}
return datum;
}
Mijn dank alvast,
Tom