Преобразовать текстовый столбец exсel в числовой [Delphi]

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Tip.the.besT, 27 Feb 2012.

  1. Tip.the.besT

    Tip.the.besT Member

    Joined:
    24 Jun 2009
    Messages:
    267
    Likes Received:
    10
    Reputations:
    4
    Программа записывает десятичные дроби и простые числа в таблицу exсel. Когда в ячейку попадает простое число, то и отображается оно как надо, в числовом формате. А если десятичное, то он его определяет как текст, а не число. Как принудительно ячейкам задать числовой формат?
     
  2. DYUMON

    DYUMON New Member

    Joined:
    15 Sep 2010
    Messages:
    68
    Likes Received:
    2
    Reputations:
    0
    открой ексель нажми запись макросов. затем смени у столбца тип данных и посмотри код макроса. переложи его себе в программу. и все.
     
  3. Tip.the.besT

    Tip.the.besT Member

    Joined:
    24 Jun 2009
    Messages:
    267
    Likes Received:
    10
    Reputations:
    4
    Что - то я не понял как макросом сделать. Я пробывал вот так:
    Code:
    excel.WorkBooks[1].WorkSheets[1].Cells[3, 12].NumberFormat := '000000,0';
    Не получилось, пожалуйста поподробней как макросом.
     
  4. Tip.the.besT

    Tip.the.besT Member

    Joined:
    24 Jun 2009
    Messages:
    267
    Likes Received:
    10
    Reputations:
    4
    Разобрался, всем кто столкнётся с такой проблемой, знайте:

    Весь геморой заключался в том, что данные изначально вводятся в ручную и вводятся они следующим видом - 2222,2, но у делфи разделителем целых и десятых используется точка, а не запятая! Соответственно после того как он записывает это всё в ексель, он передаёт ему, что - это текст, а не число. После того как поправил файл где хранятся данные, и поменял все запятые на точки всё стало нормально.