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, Спасибо.
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти