Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Вниз

Нужна помощь!!!!!! Как конвертировать xls-файл в dbf файл?   Найти похожие ветки 

 
Павел   (2008-02-21 18:23) [0]

Ребята, нужна помощь! Никак не могу найти ответ на свой вопрос. Нужно составить прогу, конвертирующая файл xls (Excel) в формат dbf. Буду признателен если кто-нибудь поможете, если что-пишите на мыло. Зранее благодарен откликнувшимся на призыв к помощи


 
Правильный_Вася   (2008-02-21 18:28) [1]

окрываем эксель
выбираем Save As и формат DBF
оп-ля!


 
Павел   (2008-02-21 20:06) [2]


> Правильный_Вася   (21.02.08 18:28) [1]
> окрываем эксельвыбираем Save As и формат DBFоп-ля!


Ну если бы надо было это всё сделать в excel, то я бы не просил помощи, но мне нужно сделать программу в делфи, которая бы занималась конвертацией экселевских файлов в файлы dbf. Хотя всё-равно спасибо за ответ=)


 
Павел   (2008-02-21 20:08) [3]

И причём при конвертации пользователь должен иметь возможность указания того, какие ячейки или столбцы с того или другого экселевского листа будут конвертированы и в дальнейшем занесены в полученный после преобразования dbf-ник


 
Anatoly Podgoretsky ©   (2008-02-21 20:22) [4]

> Павел  (21.02.2008 20:06:02)  [2]

Эксель является СОМ сервером, со всеми вытекающими из этого последствиями.


 
engine ©   (2008-02-21 20:30) [5]

> [4] Anatoly Podgoretsky ©   (21.02.08 20:22)

Ну и + ко всему вышесказанному, если не желаешь быть привязан к экселю, есть описание формата экселя на OpenOffice и вроде в сети были готовые компоненты для работы с экселевскими документами. Google в помощь.


 
Сергей М. ©   (2008-02-21 20:38) [6]


> Как конвертировать xls-файл в dbf файл


Никак.

dbf - это одна таблица.

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

Ущучь это)


 
Anatoly Podgoretsky ©   (2008-02-21 21:26) [7]

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


 
Павел   (2008-02-22 10:12) [8]

Допустим, возьмём к примеру экселевский файл с таблицей на 1 рабочем листе. Требуется эту таблицу из экселя занести в dbf-файл. Причём занести, допустим, нужно не все стобцы таблицы, а только те, которые пользователь укажет сам. Помогите плиз, объяснив, как это организовать программно. Я в принципе в делфях ещё очень многого не знаю, пока учусь. Надеюсь, мне здесь помогут разобраться как с делфи в общем, так и с прогой конкретно. Спаибо за советы и помощь.


 
Palladin ©   (2008-02-22 10:18) [9]

Учишься, вот и учись, а не фигней страдай. Эксель сам прекрасно справится с задачей сохранения части данных в dbf и без твоего участия.


 
Johnmen ©   (2008-02-22 10:20) [10]

И как всегда, сумма должна быть озвучена вместе с постановкой задачи.


 
Рамиль ©   (2008-02-22 12:01) [11]


> Palladin ©   (22.02.08 10:18) [9]
> Учишься, вот и учись, а не фигней страдай. Эксель сам прекрасно
> справится с задачей сохранения части данных в dbf и без
> твоего участия.

А если 2007 ой?:)


 
Жора   (2008-02-22 12:30) [12]

Удалено модератором


 
Bekzhan_k   (2008-02-22 12:40) [13]

Удалено модератором


 
Сергей М. ©   (2008-02-22 12:47) [14]


> Bekzhan_k

А это


> занести, допустим, нужно не все стобцы таблицы, а только
> те, которые пользователь укажет сам


где ?

Или выдохся ?)


 
Bekzhan_k   (2008-02-22 12:49) [15]

Удалено модератором


 
Сергей М. ©   (2008-02-22 12:51) [16]


> Bekzhan_k   (22.02.08 12:49) [15]


А вот Жора считает иначе)


 
Bekzhan_k   (2008-02-22 12:59) [17]

Удалено модератором


 
Сергей М. ©   (2008-02-22 13:06) [18]


> Bekzhan_k   (22.02.08 12:59) [17]


Не.

Жора, предвосхитив твой бескорыстный подвиг, хотел сказать "Аффтар пеши исчо !"

))

А действительно, что ж полную программу-то не написал ? Халява же)

Ну а если серьезно, то голодному поможет удочка, а не рыба, поданная ему на паперти в постный день.


 
Bekzhan_k   (2008-02-22 13:13) [19]

Удалено модератором


 
Сергей М. ©   (2008-02-22 13:16) [20]


> он такого не скажет


Скромняга-парень, что тут еще сказать..)


 
Johnmen ©   (2008-02-22 13:21) [21]


> Жора   (22.02.08 12:30) [12]
> Вы по ходу на этот сайт ради заработка заходите,
>  вместо того что бы помочь начинающим? Меньще бы трепали
> на форуме и работали бы уже наконец, зарабатывали так что
> бы не просить за совет лавэ.

1. А Вы, видимо, на этот сайт лечить заходите?
2. С нетерпением ждем от Вас помощи начинающим. А не только трепания.


 
Palladin ©   (2008-02-22 13:21) [22]

Зато я знаю и Bekzhan_k и Жору. И оба будут наказаны за нарушение правила 5.


 
Плохиш ©   (2008-02-22 13:43) [23]


> Palladin ©   (22.02.08 13:21) [22]
> Зато я знаю и Bekzhan_k и Жору. И оба будут наказаны за
> нарушение правила 5

Предлагаю простить их(его) на первый раз, хорошо посмеялся и настроение подняли :-))


 
Павел   (2008-02-23 05:57) [24]

Ну, товарищи-программеры, спасибо ВАМ за советы, за помощь. Так я и не узнал как же реализовать ИМЕННО ЧЕРЕЗ ДЕЛФИ конфертацию xls в dbf. Если бы товарищ-начальник на практике попросил меня делать это через ексль я бы не зашёл ни на какой программерский форум, а так как у меня первая производственная практика, и мне дали вот такую задачу с созданием такого конвертера, то я решил из-за незнания некоторых функций, обратиться сюда за помощью, ведь форум-то для этого и создан, не так ли? Но вижу здесь надо мной только постебались. Обидно, что сейчас всё больше стало появляться кодеров, которые не хотят делиться с начинающими знаниями. А  видите ли научить кого-нибудь мастерству кодинга программеру труднее, чем над ним постебаться, или он такой же начинающий. Никого не хочу оскорбить, но видимо так и получается, судя по ответам. Спасибо всё-таки тем, кто не против помочь начинающим. А так, в общем, я задал конкретный вопрос, описал конкретную задачу. Мне не нужно никакой полной проги. Мне нужны ответы на следующие вопросы (конкретизирую):
1) Какая функция открывает в делфях файл xls?
2) Какая функция Создаёт структуру будующего dbf-ника и заносит в эту структуру все столбцы уже открытого xls.
3) Если пользователю нужно занести в dbf из xls не все столбцы, а лишь выборочные, то как это лучше реализовать визуально и программно?
4) Если возникнет такая проблема, как несовпадение типов данных в столбцах старого и созданного dbf-ников (имеется ввиду если вдруг пользователь решит перенести данные из старого dbf-ника в новый,созданный моей прогой dbf-ник)? то как избавится от неё, от этой проблемы?
5) Как мне создать шаблоны для того, чтобы пользователю не приходилось каждый раз, работая с моей программой, заново указывать стобцы для копирования в dbf-ник, если это можно сделать с помощью шаблона?
Извиняйте, если какой-либо вопрос поставлен неграмотно (всё-таки я ещё учусь), но думаю вы, как опытные программеры, поймёте суть.


 
Германн ©   (2008-02-23 06:03) [25]


> Мне нужны ответы на следующие вопросы (конкретизирую):
> 1) Какая функция открывает в делфях файл xls?
> 2) Какая функция Создаёт структуру будующего dbf-ника и
> заносит в эту структуру все столбцы уже открытого xls.

Опять ты задаёшь не те вопросы. Опять получишь не те ответы.


 
Павел   (2008-02-23 08:31) [26]


> Германн ©   (23.02.08 06:03) [25]
> > Мне нужны ответы на следующие вопросы (конкретизирую):
> > 1) Какая функция открывает в делфях файл xls?> 2) Какая
> функция Создаёт структуру будующего dbf-ника и > заносит
> в эту структуру все столбцы уже открытого xls.Опять ты задаёшь
> не те вопросы. Опять получишь не те ответы.


Блин, а что же спрашивать-то тогда? Я уже запарился. Видимо придётся самому всё искать, хотя и это уже запарило. Нихрена не нашёл пока, а срок до 5 апреля. Мда, не думал что всё намного труднее, чем я думал. Раньше всё более-менее получалось полегче, а с этими xls-dbf так тяжко получается. =(((((((((((((((((((((


 
Anatoly Podgoretsky ©   (2008-02-23 12:07) [27]

Ответы не читаешь или не понимаешь. Повторяю

> Эксель является СОМ сервером, со всеми вытекающими из этого
> последствиями

Если не понял, то по буквам.
1. Кидаешь на форму ExcelApplication
2. Идешь на www.microsoft.com и изучаешь Document Object Model Экселя
3. После изучения посылаешь команды Экселю - он их исполняет

Вариант 2 - открываешь как Базу Данных и работаешь с таблицами.

По вопросам
1. Функция Activate - смотри совет 1
2. Функция SaveAs - смотри совет 1, кроме того уже писали.
3. Свойства Cells - смотри совет 1
4. Вопрос не имеет отношения к Экселю, отдельный вопрос - отдельная тема
5. Вопрос не имеет отношения к Дельфи, открываешь Эксель и делаешь шаблон или смотри совет 1

P.S. Если распечать в Ворде только голые описания процедур, функций, свойств и методов из файла excel.pas то это будет свыше 1000 страниц текста и это только Эксель.

P.S. Микрософт обещает опубликовать несколько тысяц страниц описания интерфейсов Офиса, в добавления к уже напечатаным десяткам тысяч страниц.

Поэтому ищи методы больбы количества с качеством.

P.S. Есть сайт www.delphikingdom там есть большое количество страниц по интеграции с Офисом, правда очень сильно устаревшие на уровне раннего OLE


 
Павел   (2008-02-23 12:49) [28]

Спасибо тебе Анатолий за указания и пояснения


 
Сергей М. ©   (2008-02-23 12:51) [29]


> 1)


Любая, предназначенная для открытия файла.
Например, FileOpen()

Нет такой. И быть не может.


> 3)


Лучше, думаю, будет воспользоваться компонентом TEMSQuickImport.


> 4)


Написав соотв. код, реализующий соотв.алгоритм.


> 5)


см. ответ на п.3


 
Anatoly Podgoretsky ©   (2008-02-23 12:55) [30]


> > 3)
>
>
> Лучше, думаю, будет воспользоваться компонентом TEMSQuickImport.
>

Лучше разобаться с Моделью, пользы будет больше, чем использовать чужие компоненты.


 
Anatoly Podgoretsky ©   (2008-02-23 12:58) [31]


> Спасибо тебе Анатолий за указания и пояснения

Статьи на Королевстве все таки просмотри, они хоть чуть чуть помогут в начальном освоение, правда немного и в неправильную сторону уведут.
Я по крайней мере так начинал, для начального понятия Application, Workbook, WorkSheet и Range. А потом перешел исключительно на информацию от Микрософт и исключительно только на работу с СОМ а не OLE - мне лишний тормоз и лишнии ошибки ни к чему.


 
Сергей М. ©   (2008-02-23 13:04) [32]


> Anatoly Podgoretsky ©   (23.02.08 12:55) [30]


Для тупых и не желающих слушать-вникать - сойдет и EMS)


 
Плохиш ©   (2008-02-24 00:51) [33]


> Anatoly Podgoretsky ©   (23.02.08 12:07) [27]


> Сергей М. ©   (23.02.08 12:51) [29]

Эк, вы оба на "слабо"-то развелись :-)

> Павел   (23.02.08 05:57) [24]
> Ну, товарищи-программеры, спасибо ВАМ за советы, за помощь.
>  Так я и не узнал как же реализовать ИМЕННО ЧЕРЕЗ ДЕЛФИ
> конфертацию xls в dbf. Если бы товарищ-начальник на практике
> попросил меня делать это через ексль я бы не зашёл ни на
> какой программерский форум, а так как у меня первая производственная
> практика, и мне дали вот такую задачу с созданием такого
> конвертера, то я решил из-за незнания некоторых функций,
>  обратиться сюда за помощью, ведь форум-то для этого и создан,
>  не так ли? Но вижу здесь надо мной только постебались.
> Обидно, что сейчас всё больше стало появляться кодеров,
> которые не хотят делиться с начинающими знаниями.

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


 
Anatoly Podgoretsky ©   (2008-02-24 01:02) [34]

Ты думаешь, что мы на что то развелись, вот если бы написали готовую программу, то да, а так только направление в каком копать.


 
Плохиш ©   (2008-02-24 01:30) [35]


> Anatoly Podgoretsky ©   (24.02.08 01:02) [34]
> Ты думаешь, что мы на что то развелись

Развелись конечно ;-)
Кодеру западло даже посмотреть чё же там в панеле компонентов имеется, функцию подавай...


 
Anatoly Podgoretsky ©   (2008-02-24 13:15) [36]

Ты путаешь времяпровождение с разводом, заводом.
Нам потрепапаться не западло.


 
Павел   (2008-03-02 02:22) [37]

А я хотел сам во всём разобраться, и мне не западло в MSDN полазить, просто время поджимает, вот и хотел спросить с чего начать, я же только учусь. Было бы время-вот тогда бы и учился вдоволь. Не надо наезжать, я ещё не кодер, а всего лишь начинающий программер. Так что не будем про западло и не западло. И уж тем более мне не нужно готовой проги. Ну провалю практику, так провалю. Один раз можно, а потом думаю всё пойдёт как по маслу. Научусь сам всем премудростям. Но чтобы на форуме что-то спросить ещё раз-ни-ни........ Никогда больше не буду ни у кого ничего спрашивать, потому что сразу начинается-западло, лень, плагиат, халява. нет уж, товарищи программеры (хотя уверен что здесь большинство жадных буржуев, готовых поживиться на новеньких) Вы писюнами мерьтесь в отдельной теме, и на начинающих не стоит наезжать. Короче, всем удачи и успехов. И не забывайте что вы тоже не с рождения были профи-кодерами.


 
Павел   (2008-03-02 02:25) [38]

А вот Анатолию отдельное спасибо-фишку просёк, сайт хороший подсказал. Доки читаю, дядь Толь, спасибо за моральную поддержку. Буду читать и вникать. Спасибо что указал где начать копать. Самому поначалу трудно в инете определиться.


 
Германн ©   (2008-03-02 02:37) [39]


> Павел   (02.03.08 02:25) [38]
>
> А вот Анатолию отдельное спасибо

И уж сколько таких, выразивших признательность АП!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.041 c
4-1185779660
Максимм
2007-07-30 11:14
2008.03.30
Мониторинг сетевых принтеров.


2-1204105403
DelphiN!
2008-02-27 12:43
2008.03.30
SQL с использованием цыклов и переменных


15-1202996771
Сергей М.
2008-02-14 16:46
2008.03.30
Skype, интересная любопытность)


15-1203212318
korneley
2008-02-17 04:38
2008.03.30
Аудит Wi-Fi сетей


11-1186498749
Александр 2006
2007-08-07 18:59
2008.03.30
KOLWinLirc ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский