Elliot Опубликовано 19 января, 2013 Поделиться Опубликовано 19 января, 2013 (изменено) Здравствуйте. Нужна ваша консультация. На работе есть старая программа под ДОС. Данные с неё нужно перегонять в Excel. Программа на Turbo Pascal 5.5, сложная. Я этот язык не знаю. Сделал только вывод в файл sample.csv через Writeln(файл, строка) Но вот вылезла проблема. Номер нужен с начальными нулями, как занесено в программе. А при конвертации в Excel строка становиться числом, начальные нули удаляются. Что можно придумать? sample.rar Изменено 19 января, 2013 пользователем Cru Ссылка на комментарий Поделиться на другие сайты Поделиться
Денис-НН Опубликовано 19 января, 2013 Поделиться Опубликовано 19 января, 2013 А это надо воспринимать как число, или как текст? Если как число, то после конвертации стоит поиграть с форматом ячеек, выбрать формат с начальными нулями. По крайней мере, в опенофиссе можно. А эксела у меня нет. Ссылка на комментарий Поделиться на другие сайты Поделиться
Elliot Опубликовано 19 января, 2013 Автор Поделиться Опубликовано 19 января, 2013 (изменено) А это надо воспринимать как число, или как текст?Если как число, то после конвертации стоит поиграть с форматом ячеек, выбрать формат с начальными нулями. По крайней мере, в опенофиссе можно. А эксела у меня нет. Получается нужно, как текст. С доп.форматированием в Excel возиться не хочется. Работать не мне. Нужно чтобы были уже готовые колонки, там ещё фамилии и суммы будут. Пользователь переносит их в свои формы в Excel. Как вариант, скидывать в dbf. Поискал в Инете библиотеки для Паскаля. http://www.sources.ru/pascal/database/index.htm Слишком сложные решения. Если можно помогите удалить там всё лишнее и сделать только это (без ООП): База sample.dbf уже будет заранее готова. Нужны след. функции: Open_dbf("sample"); Zap(); for i:=1 to MaxCount append_blank(); Put_field("Nomer",переменная); Put_field("FIO",переменная); Put_field("Itogo",переменная); next Close_dbf("sample"); Изменено 19 января, 2013 пользователем Cru Ссылка на комментарий Поделиться на другие сайты Поделиться
Денис-НН Опубликовано 19 января, 2013 Поделиться Опубликовано 19 января, 2013 ИМХО стоит всё-таки поковыряться с настройками импорта а экселе, не может там совсем ничего не быть. Ну можно поставить опеноффис - всё нормально открывается. sample.xls Ссылка на комментарий Поделиться на другие сайты Поделиться
Elliot Опубликовано 19 января, 2013 Автор Поделиться Опубликовано 19 января, 2013 (изменено) Денис. Спасибо за ответ. Но дело в том, что пользователи несколько капризные. То, что вы привели в пример, в Excel делается при импорте обычного текстового файла. Куча вопросов и запросов и т.п. Нужно: Нажали на файл и он сразу готовый в Excel. Изменено 19 января, 2013 пользователем Cru Ссылка на комментарий Поделиться на другие сайты Поделиться
Денис-НН Опубликовано 19 января, 2013 Поделиться Опубликовано 19 января, 2013 Макросы? Включить запись и открыть этот файл под запись макроса. Если получиться - назначить макрос на быструю клавишу - и порядок. По нажатию клавиши открывается нужный файл, в нужном формате. Ссылка на комментарий Поделиться на другие сайты Поделиться
Elliot Опубликовано 19 января, 2013 Автор Поделиться Опубликовано 19 января, 2013 Макросы? Включить запись и открыть этот файл под запись макроса. Если получиться - назначить макрос на быструю клавишу - и порядок. По нажатию клавиши открывается нужный файл, в нужном формате. Автоматичекая конвертация текстового файла в Excel через макрос не получиться. Параметры окна диалога как в опции макроса будете загонять? Ссылка на комментарий Поделиться на другие сайты Поделиться
santax Опубликовано 20 января, 2013 Поделиться Опубликовано 20 января, 2013 (изменено) Измени формат CSV на такой в программе на паскале и автоматическое открывание будет нормальным с нулями. Если не знаешь как это выполнить в паскале, то вот: Добавь это в исходник программы перед самым первым вызовом Begin: const r1='="'; r2='"'; А строку записывающую в файл измени так Writeln(файл, r1+строка+r2); sample_new.rar Изменено 20 января, 2013 пользователем santax Ссылка на комментарий Поделиться на другие сайты Поделиться
Elliot Опубликовано 23 января, 2013 Автор Поделиться Опубликовано 23 января, 2013 (изменено) Посидел пару дней без отдыха, собрал нужную библиотеку с работой с dbf. Трудно было. Я почему-то думал, что в ФК есть знатоки языка Паскаль. Так удобней, и форматы автоматически берутся. С ДОС не нужно точки на запятые менять и русские буквы в Windows-формат кирилицы переводить. Изменено 23 января, 2013 пользователем Cru Ссылка на комментарий Поделиться на другие сайты Поделиться
Elliot Опубликовано 26 января, 2013 Автор Поделиться Опубликовано 26 января, 2013 Измени формат CSV на такой в программе на паскале и автоматическое открывание будет нормальным с нулями.Если не знаешь как это выполнить в паскале, то вот: Добавь это в исходник программы перед самым первым вызовом Begin: const r1='="'; r2='"'; А строку записывающую в файл измени так Writeln(файл, r1+строка+r2); santax, Спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти