2015-08-03 3 views
0

Следующий код работает нормально, он извлекает данные из всех ячеек в листеИзвлечение данных из ячейки

using (OleDbConnection con1 = new OleDbConnection(connectionString)) 
{ 
    var dt = new DataTable(); 
    string query = string.Format("SELECT * FROM [{0}]", sheetName); 
    con1.Open(); 
    OleDbDataAdapter adapter = new OleDbDataAdapter(query, con1); 
    adapter.Fill(dt); 
    try 
    { 
     using (SqlConnection con = new SqlConnection(consString)) 
     { 
      con.Open(); 
      for (int i = 1; i < dt.Rows.Count; i++) 
      { 

       for (int j = 1; j < dt.Columns.Count; j ++) 
       { 
        MessageBox.Show(dt.Rows[i][j].ToString()); 
       } 
      } 
     } 

Код выше данных экстракта в зеленом прямоугольнике, но мне нужно, чтобы извлечь данные в красный прямоугольник в следующий изображение.

enter image description here

Как я мог извлечь данные в прямоугольнике не в зеленом прямоугольнике?

+0

Можете ли вы изменить формат столбца? – TaW

+0

@TaW Я не могу вносить изменения в файл excel. – user3548593

+1

Можете ли вы попробовать это и сказать мне, работает ли оно: MessageBox.Show (Double.Parse (dt.Rows [i] [j] .Value)); – Gnqz

ответ

0

Вы можете изменить отображаемые цифры, изменив область и параметры на панели управления, таким образом будут отображаться полные значения, которые могут быть выбраны с помощью соединения OLEDB. РЕДАКТИРОВАТЬ: После прочтения вашего комманда, не меняющего формат колонки Excel, я предлагаю попробовать EPPLUS.

Смежные вопросы