![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
парсер эксель файлов-хочу вытащить дату! [D6, WinXP]
kate158 © (2010-10-22 13:57:00)привет! вопрос по excel. хочу разобрать несколько файлов, НАЙТИ В НИХ ДАТУ, и добавить в БД (SQL Server 2000). Дата может быть написана в разных форматах, например "01.06.2010", "июнь", "июнь 2010"..
У кого какие мысли?
Palladin (2010-10-26 17:24:00) [1]http://www.google.ru/search?hl=ru&newwindow=1&client=opera&hs=wXP&rls=ru&q=%D0%BA%D0%B0%D0%BA+%D1%83%D0%B7%D0%BD%D0%B0%D1%82%D1%8C+%D0%B4%D0%B0%D1%82%D1%83+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F+%D1%84%D0%B0%D0%B9%D0%BB%D0%B0+delphi&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA
Max Zyuzin (2010-10-26 17:12:00) [2]>kate158 © (26.10.10 16:35) [20]
function FileAge(const FileName: string): Integer;
kate158 (2010-10-26 16:35:00) [3]так вот, о великие мастера. пока тема не закрыта, (а она еще не исчерпала в себе все ваши возможные афоризмы и шутки), я думаю над решением своей задачи. возникла одна мысль на счет даты. ВОПРОС! как выцепить дату создания excel файла, который я пытаюсь разобрать?
Плохиш (2010-10-22 18:00:00) [4]
> А ответ не не понимает,а желает получить готовый пример
> парсера (ИМХО).
Вот я сильно сомневаюсь, что оно сможет даже готовый код скопипаститьиоткомпилировать.
sniknik (2010-10-22 17:10:00) [5]> а желает получить готовый пример парсера (ИМХО).
jet - исходники спросить у мелкософта. вполне себе готовый пример...
Anatoly Podgoretsky (2010-10-22 16:58:00) [6]> Max Zyuzin (22.10.2010 16:56:16) [16]
А что ответу еще делать? Если он не понимает.
Max Zyuzin (2010-10-22 16:56:00) [7]>Плохиш © (22.10.10 16:36) [13]
Как бы оно понятно, что ответ дал Dimka Maslov © (22.10.10 14:38) [5]
А ответ не не понимает,а желает получить готовый пример парсера (ИМХО).
Фокус_Ник (2010-10-22 16:43:00) [8]
> kate158 © (22.10.10 14:41) [6]
> вопрос не в том, как и в каком формате в экселе хранятся
> даты. как мне их в базу добавить?
1. Чтобы добавить в базу дату, ее сначала нужно получить.
2. Чтобы дату получить, ее надо извлечь из файла Excel.
3. Чтобы извлечь дату из файла Excel, нужно ТОЧНО знать, в каком месте и в каком формате она в нем хранится.
Поэтому - пока Вы не будете ТОЧНО знать, где и в каком формате хранится в файле Excel нужная Вам дата, решить задачу не удастся.
Так что начинать Вам нужно с анализа файла. Глазами и мозгами. А вовсе не с БД и даже не с написания программы.
Anatoly Podgoretsky (2010-10-22 16:41:00) [9]> Плохиш (22.10.2010 16:36:13) [13]
Проблемы индейцев шерифа не волнуют.
Плохиш (2010-10-22 16:36:00) [10]
> Спешу Вас убедить Вас никто не понимает.
За всех не говорим. Что ей надо очень понятно. И ответ ей уже дали. Только оно ответ не понимает. Но это собственно и не проблема отвечающих.
Max Zyuzin (2010-10-22 16:14:00) [11]> kate158 © (22.10.10 15:51) [8]
А если у вас, не дай бог, в базе будет написано Jan или, например, січень? что и куда вы писать планируете? А если потом еще вдруг будет написано "Jan clod van damme".
Спешу Вас убедить Вас никто не понимает. Задача определена очень размыто. И здесь, обычно, помогают решить частный вопрос программирования, а не занимаются постановкой задач.
Andy BitOff (2010-10-22 15:57:00) [12]
> kate158 ©
Ну тогда мальчика =)
Andy BitOff (2010-10-22 15:56:00) [13]Теперь понимают.
Но я бы девочку посадил бы за компутер пускай ручками правит в нужную мне форму хотя бы названия файлов.
kate158 (2010-10-22 15:54:00) [14]вообщем для меня вопрос не решен. уж извините за назойливость. про insert into и ежу понятно. что должно быть в :p?
kate158 (2010-10-22 15:51:00) [15]я понимаю так:должен быть цикл, в котором в эксел файле ищутся данные сл образом:
если есть "январь" - в бд - 01.01.2010, "февраль" - 01.02.2010 и тд..
если есть выражение типа "01.10.2010", то искать 2 знака после первой точки и писать в базу - 01.10.2010..
но...... есть в одном файле дата как просто "июнь", а какой год не указано..
в названиях этих файлов тоже есть дата типа "20100304_.xls" или "Реестр обязательств (с 01 по 31 марта 2010) 1.xls" или "Реестр обязательств по (за март 2010) EUR.xls"
Кто-нибудь меня понимает?))
Palladin (2010-10-22 14:55:00) [16]q.sql.text := 'insert into table1 ([date]) value (:p)';
q.Parameters[0].Value := дата;
q.ExecSQL;
kate158 (2010-10-22 14:41:00) [17]вопрос не в том, как и в каком формате в экселе хранятся даты. как мне их в базу добавить?
Dimka Maslov (2010-10-22 14:38:00) [18]Дата в экселе хранится в одном и том же формате, что и вещественные числа, а формат отображения даты зависит от настроек.
kate158 (2010-10-22 14:30:00) [19]нет не так. допустим есть папка, в ней много эксель файлов. в одном файле есть строка "01.06.2010". открываю следующий эксель файл. в нем дата в формате "июнь". в следующем файле дата в формате -"март 2010г".
Palladin (2010-10-22 14:20:00) [20]а в чем особенность этой ДАТЫ? а если дат будет много, какая из них будет ДАТА?