powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запись вещественных данных в Excel
5 сообщений из 5, страница 1 из 1
Запись вещественных данных в Excel
    #33299588
Ruark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Стоит задача приложениме из C++ Builder3 занести данные в Эксель.
Реализовано через ОЛЕ.
Открывается файл шаблона.
Сохраняется шаблон под тем именем, в которое надо получить искомый файл.
Закрывается шаблон.
Открывается конечный файл.
Запись данных.
Закрытие конечного файла.
В шаблоне формат ячеек установлен как "Общий". Никаких макросов или защит ячеек/листа.
В Билдере берётся массив типа AnsiString, в котором содержатся числа, выводимые в Эксель. Точность чисел - 3 знака почле точки.
И с вещественными числами возникла проблема.
Данные типа 0,753 или 0,003 или 9,72 выводятся без проблем.
А данные типа 22,753 выводятся как 22 753 или же 7389,456 выводятся как 7389 56.
И всё это в одном файле.
Просматривая форматы ячеек, увидел, что в ячейках, куда выведены числа 0,753 то есть те, которые выводятся как надо, тип ячейки "Общий".
А в ячейках, в которые выводятся числа 22 753, то есть неверно, тип ячеек ("Числовой", 0 знаков после точки)
Повторюсь, что в шаблонном файле формат для всех ячеек задан как "Общий".
Кто с таким сталкивался и чем это лечится?
...
Рейтинг: 0 / 0
Запись вещественных данных в Excel
    #33299594
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя там точно запятая отделяет десятичную часть? Может лучше точку использовать?
Кстати, зачем делается: RuarkЗакрывается шаблон.
Открывается конечный файл.
Совершенно не нужно закрывать шаблон. После сохранения его под новым именем он уже считается нормальной рабочей книгой.
...
Рейтинг: 0 / 0
Запись вещественных данных в Excel
    #33299597
Ruark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlУ тебя там точно запятая отделяет десятичную часть? Может лучше точку использовать?
Кстати, зачем делается: RuarkЗакрывается шаблон.
Открывается конечный файл.
Совершенно не нужно закрывать шаблон. После сохранения его под новым именем он уже считается нормальной рабочей книгой.

Закрываю просто потому шо так приучили:-)
А точку... Все данные берутся из оракловской временной таблицы. А там формат вещественных - с запятой.
Или ты думаешь что дело именно в точке?
Тогад непонятно почему часть чисел интерпретирует нормально, а часть непонятно как...
...
Рейтинг: 0 / 0
Запись вещественных данных в Excel
    #33299628
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RuarkИли ты думаешь что дело именно в точке?
Тогад непонятно почему часть чисел интерпретирует нормально, а часть непонятно как...
В точке, в запятой, в разделителях тысяч.... Там много всякого может быть. Попробуй в итоговой таблице сделать формулу типа "=A1+0" для криво показаного числа. Если получишь в итоге нолик, то значит число при экспорте в Эксель превратилось в текст. По каким причинам Эксель его не распознал как число это уже другой вопрос. А национальные различия точка-запятая для десятичной части или пробелы-апострофы-точки для тысяч - это самые вероятные источники ошибок.
...
Рейтинг: 0 / 0
Запись вещественных данных в Excel
    #33299746
Ruark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том то и дело, что я его как строку хочу записать, у меня строка приведена к тому виду что мне нужно. А в отношении некоторых данных оно воспринимает как строку, а в отношении некоторых воспринимает как число.
Почему 0,275 записывает как строку, и формат ячейки "Общий", а 43,275 записывает как 43 275, и формат ячейки становится "Числовой"? Вот это не могу понять.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запись вещественных данных в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]