Zawartość pierwszej kolumny z XLSX do ComboBox

0

Cześć,

Jest plik XLSX z wartościami w trzech kolumnach (tel / pin / puk). Chcę załadować tylko pierwszą kolumnę z XLSX do ComboBox tak by byłą widoczna. Po wyborze pozycji z ComboBox chciałbym by pin pokazał się w Label1, a puk w Label2. Pomożecie?

Excel.Application xlApp;
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            Excel.Range range;

            string str;
            int rCnt = 0;
            int cCnt = 0;

            xlApp = new Excel.ApplicationClass();
            xlWorkBook = xlApp.Workbooks.Open(@"test.xlsx", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

            range = xlWorkSheet.UsedRange;

            for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
            {
                for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
                {
                    str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2;
                    comboBox1.Items.Add(str);
                }
            }

            xlWorkBook.Close(true, null, null);
            xlApp.Quit();

            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlApp);

        }

        private void releaseObject(object obj)
        {
            try
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
                obj = null;
            }
            catch (Exception ex)
            {
                obj = null;
                MessageBox.Show("Nie można zwolnić obiektu " + ex.ToString());
            }
            finally
            {
                GC.Collect();
            }
          
        } 
0

Załaduj sobie te dane z excela do jakiejś struktury, np. Dictionary<string, Tuple<string, string>>, zamknij excel. Klucze słownika użyj jako wyświetlany element w combobox, po wybraniu danego elementu dostaniesz selected item jako KeyValuePair<string, Tuple<string, string>>, pobierz membera i wyświetl właściwości (Item1 i Item2).

1 użytkowników online, w tym zalogowanych: 0, gości: 1