Laden...

Forenbeiträge von nicknet Ingesamt 9 Beiträge

09.04.2012 - 09:59 Uhr

Hallo Sebastian,

Danke für den Tipp
In dieser Zeile bleibt er stehen,

valueStringA = String.Join("\n", A[rowCounter, colCounter].ToString());

Fangen Sie NullReferenceException explizit in einer Try...Catch....Finally-Anweisung ab.
Eine Try…Catch…Finally-Anweisung kann den Code auf bestimmte Ausnahmetypen prüfen, angefangen von sehr spezifischen bis hin zu sehr allgemeinen Ausnahmen.

Habe ich gemacht für jeden einzelnen Block,
mit deiner Einstellung meckert er zwar immer noch, aber siehe da, jetzt macht er das was er soll,

Der gesamtCode bisher

        private void Config()
        {
            try
            {
                CheckExcellProcesses();

                Microsoft.Office.Interop.Excel.Application excel =
                       new Microsoft.Office.Interop.Excel.Application();
                excel.Visible = false;


                // Dateipfad
                string currentDir = Environment.CurrentDirectory;
                Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Open(currentDir + @"\config.dif");

                // Das erste Arbeitsblatt referenzieren 
                Microsoft.Office.Interop.Excel.Worksheet worksheet =
                   (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];


                try
                {
                    //Daten Spalte A
                    Excel.Range rangeA;
                    rangeA = worksheet.get_Range("A1", "A100");
                    //Abrufen der Daten aus Spalte A
                    System.Object[,] A;

                    A = rangeA.get_Value(Missing.Value);
                    //verkleinere array auf Inhalt.
                    long iRowsA;
                    long iColsA;
                    iRowsA = A.GetUpperBound(0);
                    iColsA = A.GetUpperBound(1);
                    //Array in einem String zusammenfassen
                    String valueStringA;
                    for (long rowCounter = 1; rowCounter <= iRowsA; rowCounter++)
                    {
                        for (long colCounter = 1; colCounter <= iColsA; colCounter++)
                        {
                            valueStringA = String.Join("\n", A[rowCounter, colCounter].ToString());
                            string[] installsA = new string[] { valueStringA };

                            comboBoxlm1.Items.AddRange(installsA);
                            comboBoxhd1.Items.AddRange(installsA);
                        }
                    }
                }
                catch (Exception)
                {
                    
                }

                try
                {
                    //Daten Spalte C
                    Excel.Range rangeC;
                    rangeC = worksheet.get_Range("C1", "C100");

                    //Abrufen der Daten aus Spalte C 
                    System.Object[,] C;
                    C = rangeC.get_Value(Missing.Value);

                    //verkleinere array auf Inhalt.
                    long iRowsC;
                    long iColsC;
                    iRowsC = C.GetUpperBound(0);
                    iColsC = C.GetUpperBound(1);

                    //Array in einem String zusammenfassen
                    String valueStringC;

                    for (long rowCounter = 1; rowCounter <= iRowsC; rowCounter++)
                    {
                        for (long colCounter = 1; colCounter <= iColsC; colCounter++)
                        {
                            valueStringC = String.Join("\n", C[rowCounter, colCounter].ToString());
                            string[] installsC = new string[] { valueStringC };

                            comboBoxlm2.Items.AddRange(installsC);
                            comboBoxhd2.Items.AddRange(installsC);
                        }
                    }
                }
                catch (Exception)
                {

                }

                try
                {
                    //Daten Spalte E
                    Excel.Range rangeE;
                    rangeE = worksheet.get_Range("E1", "E100");

                    //Abrufen der Daten aus Spalte F 
                    System.Object[,] E;
                    E = rangeE.get_Value(Missing.Value);

                    //verkleinere array auf Inhalt.
                    long iRowsE;
                    long iColsE;
                    iRowsE = E.GetUpperBound(0);
                    iColsE = E.GetUpperBound(1);

                    //Array in einem String zusammenfassen
                    String valueStringE;

                    for (long rowCounter = 1; rowCounter <= iRowsE; rowCounter++)
                    {
                        for (long colCounter = 1; colCounter <= iColsE; colCounter++)
                        {
                            valueStringE = String.Join("\n", E[rowCounter, colCounter].ToString());
                            string[] installsE = new string[] { valueStringE };

                            comboBoxlm3.Items.AddRange(installsE);
                            comboBoxhd3.Items.AddRange(installsE);
                        }
                    }
                }
                catch (Exception)
                {

                }
                // Speichern damit Datei nicht in Excel hängen bleibt
                string folderName = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
                string fileName = Path.Combine(folderName, "config.dif");
               

                if (File.Exists(fileName))
                {

                    File.Delete(fileName);

                        excel.AlertBeforeOverwriting = false;
                        excel.DisplayAlerts = false;
                        workbook.Save();
                        workbook.Close();
                        excel.Quit();

                }
                else
                {
                    workbook.SaveAs(fileName);
                    workbook.Close();
                    // Excel beenden
                    excel.Quit();
                }
                

            }
            catch (Exception e)
            {
                //String errorMessage;
                //errorMessage = "Fehler: ";
                //errorMessage = String.Concat(errorMessage, e.Message + "\n");
                //errorMessage = String.Concat(errorMessage, e.TargetSite + "\n");
                //errorMessage = String.Concat(errorMessage, e.Source + "\n");
                //errorMessage = String.Concat(errorMessage, e.HelpLink + "\n");
                //errorMessage = String.Concat(errorMessage, e.InnerException + "\n");
                //errorMessage = String.Concat(errorMessage, e.StackTrace + "\n");
                //errorMessage = String.Concat(errorMessage, e.TargetSite + "\n");
                //errorMessage = String.Concat(errorMessage, e.Data + "\n");
                //errorMessage = String.Concat(errorMessage, e.GetBaseException() + "\n");
                //System.Windows.MessageBox.Show(errorMessage, "Error");
            }
            finally
            {

                KillExcel();
            }

        }
08.04.2012 - 21:17 Uhr

hi Sebastian, ich bekomme keine Meldung in welcher Zeile das passiert,

kann dir sagen das es in
private void Config()
passiert,

und wenn ich einen Block auskommentiere,
bekomme ich keinen Fehler.
nur wenn ich beide Blöcke stehen lasse.
aber das wird dir auch net sonderlich weiterhelfen,

catch (Exception e)
            {
                String errorMessage;
                errorMessage = "Fehler: ";
                errorMessage = String.Concat(errorMessage, e.Message + "\n");
                errorMessage = String.Concat(errorMessage, e.TargetSite + "\n");
                errorMessage = String.Concat(errorMessage, e.Source + "\n");
                errorMessage = String.Concat(errorMessage, e.HelpLink + "\n");
                errorMessage = String.Concat(errorMessage, e.InnerException + "\n");
                errorMessage = String.Concat(errorMessage, e.StackTrace + "\n");
                errorMessage = String.Concat(errorMessage, e.TargetSite + "\n");
                errorMessage = String.Concat(errorMessage, e.Data + "\n");
                errorMessage = String.Concat(errorMessage, e.GetBaseException() + "\n");
errorMessage = String.Concat( errorMessage, " Line: " );
                System.Windows.MessageBox.Show(errorMessage, "Error");}

irgendwie kann ich nur einen Array einlesen,

08.04.2012 - 20:14 Uhr

Hi Sebastian

Fehlermeldung:

Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt,

wie gesagt jeder Block für sich allein funzt,
ergo A ist commentiert //
funktioniert C
A ist nicht commentiert funktioniert A allein.

erster Gedanke war A nach Abschluss zu Nullen

A = null;

und C als neues Objekt zu referenzieren

System.Object[,] C = new Object[,] {};
C = rangeC.get_Value(Missing.Value);

funktioniert so aber nicht,
Und ich möchte nicht für jede dieser 5 Comboboxen,
die datei öffnen und wieder schließen.

thx

08.04.2012 - 16:51 Uhr

Hallo @ll,

mit nachfolgendem Code lese ich die Spalte einer Exceldatei aus und lasse die Einträge in eine Combobox eintragen.

Soweit so gut, es funktioniert aber nur mit einer Spalte der Befehl für die Spalte C wird nicht ausgeführt.
Meiner Vermutung nach ligt es an der Mehrfachverwendung des Objektes
System.Object[,] A;
bzw.
System.Object[,] C;

wie kann ich nach Ablauf der ersten Prozedur,
System.Object[,] A;
das Neue Object
System.Object[,] C;
setzen???
Möchte fünf Spalten einlesen und in unterschiedliche ComboBoxen eintragen


            //Daten Spalte A
            Excel.Range rangeA;
            rangeA = worksheet.get_Range("A1", "A100");

            //Abrufen der Daten aus Spalte A
            System.Object[,] A;

            A = rangeA.get_Value(Missing.Value);

            //verkleinere array auf Inhalt.
            long iRowsA;
            long iColsA;
            iRowsA = A.GetUpperBound(0);
            iColsA = A.GetUpperBound(1);

            //Array in einem String zusammenfassen
            String valueStringA;

            for (long rowCounter = 1; rowCounter <= iRowsA; rowCounter++)
            {
                for (long colCounter = 1; colCounter <= iColsA; colCounter++)
                {
                    valueStringA = String.Join("\n", A[rowCounter, colCounter].ToString());
                    string[] installsA = new string[] { valueStringA };

                    comboBoxlm1.Items.AddRange(installsA);
                    comboBoxhd1.Items.AddRange(installsA);
                }
            }



            //Daten Spalte C
            Excel.Range rangeC;
            rangeC = worksheet.get_Range("C1", "C100");

            //Abrufen der Daten aus Spalte C
            System.Object[,] C;

            C = rangeC.get_Value(Missing.Value);

            //verkleinere array auf Inhalt.
            long iRowsC;
            long iColsC;
            iRowsC = C.GetUpperBound(0);
            iColsC = C.GetUpperBound(1);

            //Array in einem String zusammenfassen
            String valueStringC;

            for (long rowCounter = 1; rowCounter <= iRowsC; rowCounter++)
            {
                for (long colCounter = 1; colCounter <= iColsC; colCounter++)
                {
                    valueStringC = String.Join("\n", C[rowCounter, colCounter].ToString());
                    string[] installsC = new string[] { valueStringC };

                    comboBoxlm1.Items.AddRange(installsC);
                    comboBoxhd1.Items.AddRange(installsC);
                }
            }

Hoffe das es verständlich ausgedrückt ist 😃
kann jemand helfen?

Hinweis "... jedes einzeln angesprochen tut was es tuen soll, nur zusammen tun`s net..." 😦

27.01.2011 - 00:30 Uhr

Ich habe folgendes Problem....

Habe ein Programm geschrieben...
Wenn ich es aufrufe
und eine Datei öffnen möchte, dauert es gefühlt sehr lange bis das Fenster erscheint. Indem ich dann die Datei auswählen kann.

Beim zweitenmal geschiet es dagegen blitzartig?

 OpenFileDialog openFileDialog1 = new OpenFileDialog();

            //openFileDialog1.InitialDirectory = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
            openFileDialog1.InitialDirectory = System.IO.Path.GetDirectoryName("C:\\bla-irgendwas\\");
            openFileDialog1.Filter = "T... (*.xls)|*.xls|T... (*.dif)|*.dif";
            openFileDialog1.FilterIndex = 1;
            openFileDialog1.Title = "T... Daten öffnen ...";
            openFileDialog1.RestoreDirectory = true;

Nächstes Problem, öffne ich eine Datei und lese diese ein, dauert es ebenfalls gefühlt zu lange bis die Daten eingelesen sind. Ist Excel im Hintergrund aber aktiv.
geht es seher flott.

22.12.2010 - 22:21 Uhr

Hi Sebastian, kann ja auch keine Fehlermeldung kommen,
habe sie ja kommentiert, ...
Das ist der Grundsource
der Später noch um bis zu tausend Eingaben erweitert wird.
leider immer nur von und nach Textboxen.

             OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.InitialDirectory = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
            openFileDialog1.Filter = "xls files (*.xls)|*.xls|All files (*.*)|*.*";
            openFileDialog1.FilterIndex = 1;
            openFileDialog1.Title = "Öffnen einer Datei ...";
            openFileDialog1.RestoreDirectory = true;

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    //if ((openFileDialog1.FileName) != null) 

                    //{

                    // Excel-Instanz erzeugen und sichtbar schalten
                    // Wenn codierung fertig auf false setzen!
                    Microsoft.Office.Interop.Excel.Application excel =
                       new Microsoft.Office.Interop.Excel.Application();
                    excel.Visible = true;


                    // Arbeitsmappe einlesen
                    string filename = Path.Combine(openFileDialog1.FileName);
                    Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Open(filename);


                    // Das erste Arbeitsblatt referenzieren Grunddaten einträge!
                    Microsoft.Office.Interop.Excel.Worksheet worksheet =
                       (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];


                    // Werte aus den Zellen zurücklesen und in den entsprechenden textBoxen ausgeben
                    //Werte werden als String gelesen und müssen als String übergeben werden!

                    //if (worksheet.Cells[1, 1] == "") { }
                    //{
                    textBoxlm1.Text = worksheet.Cells[1, 1].Value == null ? "-" : worksheet.Cells[1, 1].Value.ToString();
                    //}
                    //if (worksheet.Cells[1, 2] != "") 
                    //{
                    //    textBoxlm2.Text = "";
                    //}
                    //{
                    //    textBoxlm2.Text = worksheet.Cells[1, 2].Value.ToString();
                    //}
                    textBoxlm2.Text = worksheet.Cells[1, 2].Value == null ? "-" : worksheet.Cells[1, 2].Value.ToString(); 

                    textBoxlm3.Text = (worksheet.Cells[1, 3]).Value.ToString();
                    textBoxlm4.Text = (worksheet.Cells[1, 4]).Value.ToString();
                    textBoxlm5.Text = (worksheet.Cells[1, 5]).Value.ToString();
                    textBoxlm6.Text = (worksheet.Cells[1, 6]).Value.ToString();
                    textBoxlm7.Text = (worksheet.Cells[1, 7]).Value.ToString();
                    textBoxlm8.Text = (worksheet.Cells[1, 8]).Value.ToString();
                    textBoxlm9.Text = (worksheet.Cells[1, 9]).Value.ToString();
                    textBoxlm10.Text = (worksheet.Cells[1, 10]).Value.ToString();
                    textBoxlm11.Text = (worksheet.Cells[1, 11]).Value.ToString();
                    textBoxlm12.Text = (worksheet.Cells[1, 12]).Value.ToString();
                    textBoxlm13.Text = (worksheet.Cells[1, 13]).Value.ToString();
                    textBoxlm14.Text = (worksheet.Cells[1, 14]).Value.ToString();
                    textBoxlm116.Text = (worksheet.Cells[1, 15]).Value.ToString();

                    textBoxlm15.Text = (worksheet.Cells[2, 1]).Value.ToString();
                    textBoxlm16.Text = (worksheet.Cells[2, 2]).Value.ToString();
                    textBoxlm17.Text = (worksheet.Cells[2, 3]).Value.ToString();
                    textBoxlm18.Text = (worksheet.Cells[2, 4]).Value.ToString();
                    textBoxlm19.Text = (worksheet.Cells[2, 5]).Value.ToString();
                    textBoxlm20.Text = (worksheet.Cells[2, 6]).Value.ToString();
                    textBoxlm21.Text = (worksheet.Cells[2, 7]).Value.ToString();
                    textBoxlm22.Text = (worksheet.Cells[2, 8]).Value.ToString();
                    textBoxlm23.Text = (worksheet.Cells[2, 9]).Value.ToString();
                    textBoxlm24.Text = (worksheet.Cells[2, 10]).Value.ToString();
                    textBoxlm25.Text = (worksheet.Cells[2, 11]).Value.ToString();
                    textBoxlm26.Text = (worksheet.Cells[2, 12]).Value.ToString();
                    textBoxlm27.Text = (worksheet.Cells[2, 13]).Value.ToString();
                    textBoxlm108.Text = (worksheet.Cells[2, 14]).Value.ToString();
                    textBoxlm109.Text = (worksheet.Cells[2, 15]).Value.ToString();
                    textBoxlm110.Text = (worksheet.Cells[2, 16]).Value.ToString();
                    textBoxlm111.Text = (worksheet.Cells[2, 17]).Value.ToString();
                    textBoxlm112.Text = (worksheet.Cells[2, 18]).Value.ToString();
                    textBoxlm113.Text = (worksheet.Cells[2, 19]).Value.ToString();


                    textBoxlm30.Text = (worksheet.Cells[3, 1]).Value.ToString();
                    textBoxlm31.Text = (worksheet.Cells[3, 2]).Value.ToString();
                    textBoxlm32.Text = (worksheet.Cells[3, 3]).Value.ToString();
                    textBoxlm33.Text = (worksheet.Cells[3, 4]).Value.ToString();
                    textBoxlm34.Text = (worksheet.Cells[3, 5]).Value.ToString();
                    textBoxlm35.Text = (worksheet.Cells[3, 6]).Value.ToString();
                    textBoxlm36.Text = (worksheet.Cells[3, 7]).Value.ToString();
                    textBoxlm37.Text = (worksheet.Cells[3, 8]).Value.ToString();
                    textBoxlm38.Text = (worksheet.Cells[3, 9]).Value.ToString();
                    textBoxlm39.Text = (worksheet.Cells[3, 10]).Value.ToString();

                    textBoxlm40.Text = (worksheet.Cells[4, 1]).Value.ToString();
                    textBoxlm41.Text = (worksheet.Cells[4, 2]).Value.ToString();
                    textBoxlm42.Text = (worksheet.Cells[4, 3]).Value.ToString();
                    textBoxlm43.Text = (worksheet.Cells[4, 4]).Value.ToString();
                    textBoxlm44.Text = (worksheet.Cells[4, 5]).Value.ToString();
                    textBoxlm45.Text = (worksheet.Cells[4, 6]).Value.ToString();
                    textBoxlm46.Text = (worksheet.Cells[4, 7]).Value.ToString();
                    textBoxlm47.Text = (worksheet.Cells[4, 8]).Value.ToString();
                    textBoxlm48.Text = (worksheet.Cells[4, 9]).Value.ToString();
                    textBoxlm49.Text = (worksheet.Cells[4, 10]).Value.ToString();
                    textBoxlm50.Text = (worksheet.Cells[4, 11]).Value.ToString();
                    textBoxlm51.Text = (worksheet.Cells[4, 12]).Value.ToString();

                    //// Das zweite Arbeitsblatt referenzieren für Werte Rezeptdaten!
                    //Microsoft.Office.Interop.Excel.Worksheet worksheettwo =
                    //   (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[2];


                                        textBoxhd52.Text = (worksheet.Cells[11, 1]).Value.ToString();
                    textBoxhd90.Text = (worksheet.Cells[11, 2]).Value.ToString();
                    textBoxhd91.Text = (worksheet.Cells[11, 3]).Value.ToString();
                    textBoxhd92.Text = (worksheet.Cells[11, 4]).Value.ToString();
                    textBoxhd93.Text = (worksheet.Cells[11, 5]).Value.ToString();
                    textBoxhd94.Text = (worksheet.Cells[11, 6]).Value.ToString();
                    textBoxhd95.Text = (worksheet.Cells[11, 7]).Value.ToString();
                    textBoxhd96.Text = (worksheet.Cells[11, 8]).Value.ToString();
                    textBoxhd97.Text = (worksheet.Cells[11, 9]).Value.ToString();
                    textBoxhd98.Text = (worksheet.Cells[11, 10]).Value.ToString();
                    textBoxhd99.Text = (worksheet.Cells[11, 11]).Value.ToString();
                    textBoxhd100.Text = (worksheet.Cells[11, 12]).Value.ToString();
                    textBoxhd101.Text = (worksheet.Cells[11, 13]).Value.ToString();
                    textBoxhd102.Text = (worksheet.Cells[11, 14]).Value.ToString();
                    textBoxhd105.Text = (worksheet.Cells[11, 15]).Value.ToString();

                    textBoxhd77.Text = (worksheet.Cells[12, 1]).Value.ToString();
                    textBoxhd78.Text = (worksheet.Cells[12, 2]).Value.ToString();
                    textBoxhd79.Text = (worksheet.Cells[12, 3]).Value.ToString();
                    textBoxhd80.Text = (worksheet.Cells[12, 4]).Value.ToString();
                    textBoxhd81.Text = (worksheet.Cells[12, 5]).Value.ToString();
                    textBoxhd82.Text = (worksheet.Cells[12, 6]).Value.ToString();
                    textBoxhd83.Text = (worksheet.Cells[12, 7]).Value.ToString();
                    textBoxhd84.Text = (worksheet.Cells[12, 8]).Value.ToString();
                    textBoxhd85.Text = (worksheet.Cells[12, 9]).Value.ToString();
                    textBoxhd86.Text = (worksheet.Cells[12, 10]).Value.ToString();
                    textBoxhd87.Text = (worksheet.Cells[12, 11]).Value.ToString();
                    textBoxhd88.Text = (worksheet.Cells[12, 12]).Value.ToString();
                    textBoxhd89.Text = (worksheet.Cells[12, 13]).Value.ToString();
                    textBoxhd103.Text = (worksheet.Cells[12, 14]).Value.ToString();
                    textBoxhd104.Text = (worksheet.Cells[12, 15]).Value.ToString();
                    textBoxhd114.Text = (worksheet.Cells[12, 16]).Value.ToString();
                    textBoxhd115.Text = (worksheet.Cells[12, 17]).Value.ToString();

                    textBoxhd65.Text = (worksheet.Cells[13, 1]).Value.ToString();
                    textBoxhd66.Text = (worksheet.Cells[13, 2]).Value.ToString();
                    textBoxhd67.Text = (worksheet.Cells[13, 3]).Value.ToString();
                    textBoxhd68.Text = (worksheet.Cells[13, 4]).Value.ToString();
                    textBoxhd69.Text = (worksheet.Cells[13, 5]).Value.ToString();
                    textBoxhd70.Text = (worksheet.Cells[13, 6]).Value.ToString();
                    textBoxhd71.Text = (worksheet.Cells[13, 7]).Value.ToString();
                    textBoxhd72.Text = (worksheet.Cells[13, 8]).Value.ToString();
                    textBoxhd73.Text = (worksheet.Cells[13, 9]).Value.ToString();
                    textBoxhd74.Text = (worksheet.Cells[13, 10]).Value.ToString();

                    textBoxhd53.Text = (worksheet.Cells[14, 1]).Value.ToString();
                    textBoxhd54.Text = (worksheet.Cells[14, 2]).Value.ToString();
                    textBoxhd55.Text = (worksheet.Cells[14, 3]).Value.ToString();
                    textBoxhd56.Text = (worksheet.Cells[14, 4]).Value.ToString();
                    textBoxhd57.Text = (worksheet.Cells[14, 5]).Value.ToString();
                    textBoxhd58.Text = (worksheet.Cells[14, 6]).Value.ToString();
                    textBoxhd59.Text = (worksheet.Cells[14, 7]).Value.ToString();
                    textBoxhd60.Text = (worksheet.Cells[14, 8]).Value.ToString();
                    textBoxhd61.Text = (worksheet.Cells[14, 9]).Value.ToString();
                    textBoxhd62.Text = (worksheet.Cells[14, 10]).Value.ToString();
                    textBoxhd63.Text = (worksheet.Cells[14, 11]).Value.ToString();
                    textBoxhd64.Text = (worksheet.Cells[14, 12]).Value.ToString();

                    // Die Arbeitsmappe schließen, ohne diese zu speichern
                    workbook.Close(false);
                    excel.Quit();


                    //}
                }
                catch (Exception ex)
                {
                    //System.Windows.Forms.MessageBox.Show("Fehler: Kann Datei nicht lesen. Original Fehler: \n" + ex.Message);
                    //workbook.Close(false);
                    //excel.Quit();
                }

So sieht das Datei öffnen menue bislang aus.
Danke nochmal an alle die sich mit Gedanken gemacht haben.

22.12.2010 - 22:08 Uhr

Danke das funzt,
Programm läuft stabil durch.

22.12.2010 - 20:00 Uhr

Hallo Sebastian und Lennart

Dieser Teil

textBox2.Text = worksheet.Cells[1, 2].Value.ToString();

trägt die Daten in die Textbox.
Aber nur so lange in der Zelle auch Daten sind, egal ob Text oder Ziffern.

Ist aber eine Zelle leer, bleibt das Programm an dieser hängen und arbeitet nicht weiter, Ohne Fehlermeldung!

Deshalb habe ich versucht eine if Schleife zu setzen.
an dieser scheitere ich gerade.

Zum Dataset, kenn mich damit nicht so aus.. bin schon neuling.

Das Programm erstellt und verwaltet eine bzw. mehrere Exceldatei/en , die Daten werden nach und nach vom User eingegeben wobei nicht jedes Feld Daten erhält.
Deshalb gibt es in Excel ab und an eine "Leerzelle".
Wenn das Programm aber die Datei öffnen und auslesen soll, benötige ich auch die Info das in dieser Zelle nichts eingegeben wurde.

22.12.2010 - 16:04 Uhr

[FAQ] Office (Word, Excel, Outlook, ...) in eigenen Anwendungen verwenden Hallo @ all,

Habe folgendes Problem,...

if (worksheet.Cells[1, 2] == "")

{
  // egal mach nichts weil Zelle des Tabellenblattes ist leer
}
{
//ist nicht leer? dann Inhalt Convertieren in String nach TextBox.Sowiso
textBox2.Text = worksheet.Cells[1, 2].Value.ToString();
}

Kann jemand helfen? Weil so klappt es nicht.

lg nicknet

Oder gibt es eine Rutine die man anwenden kann, Weil ich ein paar hundert Zellen abfragen muss?