C Sharp Einfügen von Daten in Excel schlägt fehl
Hallo,
ich stehe vor einem kleinen Problem.
Ich habe ein kleines Programm, dass mir Daten aus einer MSSQL Datenbank holt und diese dann in ein bestehendes .XLSX File speichert.
Die Daten müssen in einem bestimmten Zellbereich gespeichert werden.
Allerdings bekomme ich hier immer eine Exception "Cannot expand named range.".
Hier ein INSERT Statment wie es mein Code produziert:
INSERT INTO [Testberechnung Steigung_v1$A5:J5] VALUES(5507738,20090102,0.5,0.5,0.4501,0.451,98404,'EGHT','8x8 Inc','NASDAQ');
Die Tabellenbezeichnung ist korrekt, sowie der ConnectionString.
Was ich zu der Fehlermeldung bis jetzt in Erfahrung gebracht habe hat mir nicht weitergeholfen.
Anscheinend können Zellbezüge oder in diesem Bereich hinterlegte Formeln diesen Fehler auslösen.
Allerdings klappt das Einfügen auch bei einem neu erstellten Excel File das quasi jungfäulich ist nicht.
Die bisher verwendete Tabelle hat dort auch keine Funktionen oder ähnliches hinterlegt.
Kennt jemand diese Problematik und weiß wie man diese umgeht?
Gruß
Attix22
PS:
Hier die Funktion die für das Einfügen der Daten zuständig ist: (Das Insert Statment von oben habe ich beim Debuggen dem String insertComplete entnommen)
ich stehe vor einem kleinen Problem.
Ich habe ein kleines Programm, dass mir Daten aus einer MSSQL Datenbank holt und diese dann in ein bestehendes .XLSX File speichert.
Die Daten müssen in einem bestimmten Zellbereich gespeichert werden.
Allerdings bekomme ich hier immer eine Exception "Cannot expand named range.".
Hier ein INSERT Statment wie es mein Code produziert:
INSERT INTO [Testberechnung Steigung_v1$A5:J5] VALUES(5507738,20090102,0.5,0.5,0.4501,0.451,98404,'EGHT','8x8 Inc','NASDAQ');
Die Tabellenbezeichnung ist korrekt, sowie der ConnectionString.
Was ich zu der Fehlermeldung bis jetzt in Erfahrung gebracht habe hat mir nicht weitergeholfen.
Anscheinend können Zellbezüge oder in diesem Bereich hinterlegte Formeln diesen Fehler auslösen.
Allerdings klappt das Einfügen auch bei einem neu erstellten Excel File das quasi jungfäulich ist nicht.
Die bisher verwendete Tabelle hat dort auch keine Funktionen oder ähnliches hinterlegt.
Kennt jemand diese Problematik und weiß wie man diese umgeht?
Gruß
Attix22
PS:
Hier die Funktion die für das Einfügen der Daten zuständig ist: (Das Insert Statment von oben habe ich beim Debuggen dem String insertComplete entnommen)
public static bool arrayToExcel(string arrayData, int Rowcount)
{
string connectionString = BuidExcelConnectionString(GlobalVarHelper.GlobalPath);
// Neue OLEDB-Verbindung erzeugen
OleDbConnection connection = new OleDbConnection(connectionString);
//Aufbau des INSERT Statement
string Query = "INSERT INTO [" + GlobalVarHelper.GlobalWorksheet + GlobalVarHelper.GlobalStartPoint + ":" + GlobalVarHelper.GlobalEndPoint + "]";
//Auslesen und vorbereiten der einzufügenden Werte
string values = "VALUES(";
int valuecounter = 1;
foreach (string s in arrayData)
{
//Stringwerte
if (valuecounter > 7)
{
values += "'"+s+"'" + ",";
valuecounter++;
}
//Numerische Werte
else
{
string z = s.Replace(",", ".");
values += ""+z+"" + ",";
valuecounter++;
}
}
values = values.Remove(values.Length - 1);
values += ");";
//Zusammenbau des kompletten INSERT Strings
string insertComplete = Query + " " + values;
//Ausführen des INSERT Statements
try
{
connection.Open();
OleDbCommand command = new OleDbCommand(insertComplete, connection);
command.ExecuteNonQuery();
connection.Close();
GlobalVarHelper.GlobalStartPoint = GlobalVarHelper.GlobalStartPoint.Replace("$", "");
return true;
}
catch (Exception)
{
GlobalVarHelper.GlobalStartPoint = GlobalVarHelper.GlobalStartPoint.Replace("$", "");
return false;
throw;
}
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 179070
Url: https://administrator.de/contentid/179070
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
4 Kommentare
Neuester Kommentar