Sprawdzenie stringa w datagrid

0

Witam,
To jest mój pierwszy post więc chciałbym Wszystkich gorąco przywitać :), a zarazem poprosić o pomoc w rozwiązaniu problemu. Jestem w trakcie pisania programu który wczytuje plik *xls do datagrid i zapisuje go w *.txt z pominięciem pustych komórek pierwszej kolumny. Chciałbym jeszcze zrobić taki myk że sprawdzałbym czy w pierwszej kolumnie nie występują stringi a jeżeli tak to nie zapisuj. Poniżej fragment kodu w którym sprawdzam i zapisuje.

for (int i = 0; i < dataGridView2.ColumnCount; i++)
               {
                   dataGridView2[i, j].Value = projectCells.GetValue(j + 1, i + 1);
                   if (dataGridView2[0, j].Value != null
                       & **tu sprawdzenie czy występują stringi**)
                   {
                           file.Write(dataGridView2[i, j].Value);
                           file.Write("\t");
                   }
0

Hej. No właśnie jakoś nie potrafię zastosować tych rozwiązań. Może jakaś drobna sugestia? Ja chcę sprawdzić czy w pierwszej kolumnie występują ciągi a nie konwertować na liczby.

Pozdrawiam

0

Wklej więcej kodu. W jaki sposób wrzucasz dane do Grida? Mam na myśli co siedzi pod:

dataGridView2.DataSource
0

Cały kod wykonywany od przycisku

private void button3_Click(object sender, EventArgs e)
        {
            string m_xlFileName = @"C:\a.xls";
            Excel.Application m_xlApp;                  // obiekt aplikacji
            Excel.Workbook m_xlWorkbook;          // dokument
            Excel.Worksheet m_xlWorksheet;        // arkusz
            Excel.Range range;                      //zakres
            System.Object m_xx = System.Type.Missing;
            
            m_xlApp = new Excel.Application();
            m_xlApp.DisplayAlerts = false;

            m_xlWorkbook = m_xlApp.Workbooks.Open(m_xlFileName,
                m_xx, m_xx, m_xx, m_xx, m_xx, m_xx, m_xx,
                m_xx, m_xx, m_xx, m_xx, m_xx, m_xx, m_xx);

            m_xlWorksheet = (Excel.Worksheet)m_xlWorkbook.Worksheets[1];   // 1 wskazuje na pierwszy arkusz


            
           int rCnt = 0;

           range = m_xlWorksheet.UsedRange;

           for (rCnt = 0; rCnt < range.Rows.Count; rCnt++) ;
           string ile = Convert.ToString(rCnt);
           MessageBox.Show(ile); // taka tam pierdoła


           string startCell = "A1";  
           string endCell = "C" +rCnt;
           range = m_xlWorksheet.get_Range(startCell, endCell);

           Array projectCells = (Array)range.Cells.Value2;
           dataGridView2.ColumnCount = range.Columns.Count;       
           dataGridView2.RowCount = range.Rows.Count;
           System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\test.txt");

           for (int j = 1; j < dataGridView2.RowCount; j++)
           {
               

               for (int i = 0; i < dataGridView2.ColumnCount; i++)
               {
                   //string charArr =   "A", "a";
                   dataGridView2[i, j].Value = projectCells.GetValue(j + 1, i + 1);
                   if (dataGridView2[0, j].Value != null 
                       & Convert.ToString(dataGridView2[0, j].Value) != "A") // Tu testowałem takie rozwiązanie ale sprawdza się to tylko w przypadku jednej litery nie ciągu
                   {
                           file.Write(dataGridView2[i, j].Value);
                           file.Write("\t");
                   }
               }
               if (j > 1 && dataGridView2[0, j].Value != null 
                   & Convert.ToString(dataGridView2[0, j].Value) != "A") 
               { 
                   file.Write("\r\n"); 
               }
            }
            
          file.Close();
          m_xlApp.Quit();
        }

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