Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

C Sharp Einfügen von Daten in Excel schlägt fehl

Mitglied: attix22

attix22 (Level 1) - Jetzt verbinden

17.01.2012, aktualisiert 23:14 Uhr, 2456 Aufrufe, 4 Kommentare

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)

01.
        public static bool arrayToExcel(string[] arrayData, int Rowcount) 
02.
03.
            string connectionString = BuidExcelConnectionString(GlobalVarHelper.GlobalPath); 
04.
            // Neue OLEDB-Verbindung erzeugen 
05.
            OleDbConnection connection = new OleDbConnection(connectionString); 
06.
 
07.
            //Aufbau des INSERT Statement 
08.
            string Query = "INSERT INTO [" + GlobalVarHelper.GlobalWorksheet + GlobalVarHelper.GlobalStartPoint + ":" + GlobalVarHelper.GlobalEndPoint + "]"; 
09.
             
10.
            //Auslesen und vorbereiten der einzufügenden Werte 
11.
            string values = "VALUES("; 
12.
            int valuecounter = 1; 
13.
            foreach (string s in arrayData) 
14.
15.
                //Stringwerte 
16.
                if (valuecounter > 7) 
17.
18.
                    values += "'"+s+"'" + ","; 
19.
                    valuecounter++; 
20.
21.
                //Numerische Werte 
22.
                else 
23.
24.
                    string z = s.Replace(",", "."); 
25.
                    values += ""+z+"" + ","; 
26.
                    valuecounter++; 
27.
28.
29.
            values = values.Remove(values.Length - 1); 
30.
            values += ");"; 
31.
 
32.
            //Zusammenbau des kompletten INSERT Strings 
33.
            string insertComplete = Query + " " + values; 
34.
 
35.
            //Ausführen des INSERT Statements 
36.
            try 
37.
38.
                connection.Open(); 
39.
                OleDbCommand command = new OleDbCommand(insertComplete, connection); 
40.
                command.ExecuteNonQuery(); 
41.
                connection.Close(); 
42.
                GlobalVarHelper.GlobalStartPoint = GlobalVarHelper.GlobalStartPoint.Replace("$", ""); 
43.
                return true; 
44.
45.
            catch (Exception) 
46.
47.
                GlobalVarHelper.GlobalStartPoint = GlobalVarHelper.GlobalStartPoint.Replace("$", ""); 
48.
                return false; 
49.
                throw; 
50.
51.
        }
Mitglied: vorstieg
17.01.2012 um 16:58 Uhr
Hi

probiers mal mit

[Testberechnung Steigung_v1$A$5:$J$5]

mfg
Bitte warten ..
Mitglied: Biber
17.01.2012 um 19:27 Uhr
--- wieder gelöscht ---

(war Unsinn)

Grüße
Biber
Bitte warten ..
Mitglied: dog
17.01.2012 um 20:12 Uhr
Was spricht gegen Excel.Interop?
Damit erspart man sich das ganze SQL-Query-Bauen...
Bitte warten ..
Mitglied: attix22
18.01.2012 um 08:28 Uhr
Hi,

also @vorstieg: Das brachte leider auch keinen Erfolg, im Gegenteil, mit mehr als einem Dollarzeichen im Tebellenbereich krieg ich die Meldung das der Bereich nicht zu finden ist.
@Biber: Auch wenn Sie nur kurz online Stand, ich habe deine Anmerkung mal umgesetzt, allerdings mit gleichem Fehler
@dog: Excel.Interop wäre eine absolute Notlösung, da das testweise sehr sehr langsam ist

Trotzdem vielen Dank für eure Tipps.
Sonst noch jemand Ideen?

Update:

Da ich inzwischen mit der Interop Lösung gescheitert bin (Auf dem Zielrechner ist kein Office installiert), habe ich aus einem konfusen Gedanken heraus mal eine Named Range angelegt, die den gewünschten Bereich umfasst.
Und siehe da, ich bekomme keinerlei Exceptions mehr, allerdings werden auch keine Daten in die Felder eingetragen.
Kurzum, Fehlermeldung weg, Problem besteht weiterhin.
Bitte warten ..
Ähnliche Inhalte
C und C++
Ribbon in C-Sharp WinForm einfügen
Frage von YanmaiC und C++1 Kommentar

Hallo ihr Administratoren, ich möchte das Ribbon-Control in meinem Projekt verwenden. Dazu downloade ich mir das Ribbon von folgender ...

Microsoft Office

"Microsoft Excel kann die Daten nicht einfügen"

Frage von arik12Microsoft Office2 Kommentare

Hallo zusammen, ich habe Excel (2010) in zwei dateien auf zwei bilschirmen offen. Wenn ich jetzt von eine Excel ...

C und C++

C-Sharp - NetworkStream - Wie auf vorhandene Daten prüfen?

gelöst Frage von mabue88C und C++4 Kommentare

Hallo, ich habe einen TCP-Client in C# programmiert. Prinzipiell wartet er nur auf Daten vom Server und verarbeitet sie. ...

C und C++

C-Sharp Daten von PHP lokal speichern

Frage von YanmaiC und C++3 Kommentare

Hallo ihr Administratoren, ich möchte einen ZIP von einer PHP Datei lokl speichern. Mein PHP Script: mein C# Script: ...

Neue Wissensbeiträge
Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 55 MinutenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 13 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 15 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 15 StundenMicrosoft9 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server15 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...