An alle die mir helfen können,
schreibe gerade an einem Programm und habe Access, als Datenbank im Hintergrund.
Mein Problem: Ich starte eine SQL - Abfrage an meine Access-Datenbank und die mir gelieferten Daten, möchte ich dann in eine Excel-Datei schreiben und sie dann abspeichern (Dateiname soll das aktuelle Datum beinhalten) und anschließend ausdrucken. Der Druckdialog zur Auswahl des Druckers usw. soll auch erscheinen. Das ganze soll aber im Hintergrund geschehen - sprich - die Excel - Datei soll im Hintergrund geöffnet und gedruckt werden
Die SQL - Abfrage an Access ist kein Problem, man kann also davon aus gehen, dass die Daten schon vorhanden sind (Z.B. in einer String - Variable).
Die Verbindung zur Excel Datei funktioniert auch, ich konnte den Inhalt schon auslesen. Weiß allerdings nicht, wie ich gezielt, die einzelnen Zellen in Excel anspreche.
mein Code in C# (Visual Studio.NET)
public void button6_Click(object sender, System.EventArgs e)
{
string Name = "Mustermann";
// Verbindungsstring für die Excel-Datei
OleDbConnection Verbindung_Datenbank =
new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; " +
@"data source=D:\Programmierung\TestExcel.XLS; " +
@"Extended Properties=Excel 8.0;");
//Tabellenblatt eins in die Zelle A4 in der Excel-Datei TestExcel.xls
string SQL_Schreiben = "INSERT INTO Tabelle1 (A4) VALUES (Name)";
OleDbCommand Befehl_Auswahl =
new OleDbCommand (SQL_Schreiben,Verbindung_Datenbank);
Verbindung_Datenbank.Open();
Befehl_Auswahl.ExecuteNonQuery();
Verbindung_Datenbank.Close();
}
Das Programm bringt dann eine OleDbException bei der Zeile "Befehl_Auswahl.ExecuteNonQuery();". Also gehe ich davon aus, das der SQL - Befehl nicht stimmt.
Meine Fragen also:
1. wie kann ich einzelne Zellen in einer Excel Datei mit C# ansprechen.
2. wie kann ich diese Excel Datei im Hintergrund öffnen
3. wie kann ich diese Excel Datei im Hintergrund unter einem bestimmten Dateinamen abspeichern
4. wie kann ich aus dem Hintergrund - sprich - ohne das Excel offensichtlich offen ist, dies Datei ausdrucken (mit Windowsdruckdialog für die Auswahl des Druckers und Format)
Wenn mir da jemand weiter helfen könnte, wäre ich sehr erfreut und dankbar.
Gruß Vasarius
schreibe gerade an einem Programm und habe Access, als Datenbank im Hintergrund.
Mein Problem: Ich starte eine SQL - Abfrage an meine Access-Datenbank und die mir gelieferten Daten, möchte ich dann in eine Excel-Datei schreiben und sie dann abspeichern (Dateiname soll das aktuelle Datum beinhalten) und anschließend ausdrucken. Der Druckdialog zur Auswahl des Druckers usw. soll auch erscheinen. Das ganze soll aber im Hintergrund geschehen - sprich - die Excel - Datei soll im Hintergrund geöffnet und gedruckt werden
Die SQL - Abfrage an Access ist kein Problem, man kann also davon aus gehen, dass die Daten schon vorhanden sind (Z.B. in einer String - Variable).
Die Verbindung zur Excel Datei funktioniert auch, ich konnte den Inhalt schon auslesen. Weiß allerdings nicht, wie ich gezielt, die einzelnen Zellen in Excel anspreche.
mein Code in C# (Visual Studio.NET)
public void button6_Click(object sender, System.EventArgs e)
{
string Name = "Mustermann";
// Verbindungsstring für die Excel-Datei
OleDbConnection Verbindung_Datenbank =
new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; " +
@"data source=D:\Programmierung\TestExcel.XLS; " +
@"Extended Properties=Excel 8.0;");
//Tabellenblatt eins in die Zelle A4 in der Excel-Datei TestExcel.xls
string SQL_Schreiben = "INSERT INTO Tabelle1 (A4) VALUES (Name)";
OleDbCommand Befehl_Auswahl =
new OleDbCommand (SQL_Schreiben,Verbindung_Datenbank);
Verbindung_Datenbank.Open();
Befehl_Auswahl.ExecuteNonQuery();
Verbindung_Datenbank.Close();
}
Das Programm bringt dann eine OleDbException bei der Zeile "Befehl_Auswahl.ExecuteNonQuery();". Also gehe ich davon aus, das der SQL - Befehl nicht stimmt.
Meine Fragen also:
1. wie kann ich einzelne Zellen in einer Excel Datei mit C# ansprechen.
2. wie kann ich diese Excel Datei im Hintergrund öffnen
3. wie kann ich diese Excel Datei im Hintergrund unter einem bestimmten Dateinamen abspeichern
4. wie kann ich aus dem Hintergrund - sprich - ohne das Excel offensichtlich offen ist, dies Datei ausdrucken (mit Windowsdruckdialog für die Auswahl des Druckers und Format)
Wenn mir da jemand weiter helfen könnte, wäre ich sehr erfreut und dankbar.
Gruß Vasarius