On-line: Andrey, гостей 0. Всего: 1 [подробнее..]
АвторСообщение





Пост N: 352
Зарегистрирован: 08.04.06
ссылка на сообщение  Отправлено: 04.07.09 20:49. Заголовок: OLE: Сделать DBF из XLS


Возникла такая вот необходимость... есть у кого рабочий вариант? Нужно ведь проверять все колонки на содержание в первой строке беспробельного латинского наименования, и чтобы ни одно наименование не повторялось, приводить ширину колонки к целочисленной, и наверное кучу ещё тонкостей...
И ещё интересно: в Excel 2007 через OLE сохранение в виде DBF-файла сработает, или она там обрублено напрочь - в меню сохранения файла ведь DBF-варианта уже нет...

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 59 , стр: 1 2 3 All [только новые]


Администратор




Пост N: 1261
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 03.12.09 10:15. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как отловить, что файл уже открыт ?



Хороший вопрос :)
Первая мысль, которая возникла - проверить oExcel:WorkBooks:Count, и пройтись по этой коллекции
Но оказалось, что при создании обьекта Excel запускается его новая копия, и Count равно нулю
Надо как-то связаться с уже запущенным Excel
Кстати, если из документа надо только брать данные, его можно открывать в режиме readonly, это 3-й параметр метода Open


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 982
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.12.09 10:24. Заголовок: Другой вопрос: А ка..


Другой вопрос:

А как прочитать значение ячейки ?

Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1262
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 03.12.09 10:34. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как прочитать значение ячейки ?



oSheet:Cells(nRow, nCol):Value

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 14
Зарегистрирован: 07.06.08
ссылка на сообщение  Отправлено: 03.12.09 10:37. Заголовок: Чтение из активного ..


Чтение из активного документа (созданного другим приложением или открытого)
TRY
oExcel := GetActiveObject( "Excel.Application" )
CATCH
TRY
oExcel := CreateObject( "Excel.Application" )
CATCH
Alert( "ERROR! Excel not avialable. [" + Ole2TxtError()+ "]" )
RETURN
END
END
oExcel:ActiveWorkbook()
oAS := oExcel:ActiveSheet()
Количество закладок
lw:= oExcel:Worksheets():count
Нужная закладка lt
oAS := oExcel:Worksheets(lt)
Примеры чтения из вычисленной программой ячейки
schet:=oAS:Range(nc+alltrim(str(num_str,6))):value
Tip_s:=Alltrim(HB_ANSITOOEM(oAS:Range(nsc+alltrim(str(num_str,6))):value))


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 983
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.12.09 10:47. Заголовок: Pasha пишет: oSheet..


Pasha пишет:

 цитата:
oSheet:Cells(nRow, nCol):Value



Что-то не совсем понятно.....
Чему равно nRow, nCol ? Числам ?
А где же "A150:B150" ?

Или можно использовать 2 варианте ?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1263
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 03.12.09 11:02. Заголовок: Это числовой номер с..


Это числовой номер строки и колонки
Для Cells синтаксис A1 не поддерживается

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 984
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.12.09 11:33. Заголовок: Спасибо ВСЕМ большое..


Спасибо ВСЕМ большое за помощь !!!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 987
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.12.09 23:45. Заголовок: Рано порадовался......


Рано порадовался....
Из памяти не выгружается ЕХСЕЛ...
Хотя ставлю при выходе из функции oExcel:Quit()

Где собака зарыта ?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1265
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 03.12.09 23:52. Заголовок: попробуй так oBook:..


попробуй так

oBook:Close(.f.) // закрытие документа-книги
oExcel:Quit()


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 991
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.12.09 01:06. Заголовок: Уф... сделал.... :s..


Уф... сделал....
Выкладываю ссылку на готовую программу.
Может кому понадобиться....
http://files.mail.ru/YFRFIO

Спасибо всем за помощь.....


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 1
Зарегистрирован: 09.09.11
ссылка на сообщение  Отправлено: 09.09.11 06:58. Заголовок: Добрый день.... если..


Добрый день.... если можно выложить исходный код конвертера XLS To DBF буду благодарен... в XLS файле будут объедененные строки (код пункта продажи) далее идут строки код товара (до 8 строк) наименование товара, цена итд... По поводу объединенных строк если можно то поподробнее....
Конвертер из DBF To XLS с Вашей помощью уже сделал.
Всем спасибо

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2052
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.09.11 08:44. Заголовок: Oskar_AAA пишет: По..


Oskar_AAA пишет:

 цитата:
По поводу объединенных строк если можно то поподробнее....



Чтобы объединить в Excel произвольную область ячеек, надо выдать команды:

oRange := oSheet:Range(oSheet:Cells(nRow1, nCol1), oSheet:Cells(nRow2, nCol2))
oRange:Merge()


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 238
Зарегистрирован: 06.02.07
ссылка на сообщение  Отправлено: 09.09.11 13:44. Заголовок: Pasha , Оскар про &#..


Pasha , Оскар про "объединенные строки", наверное (как я понял), спрашивал - "как их обойти?", а не "как их в экселке создать?".

Oskar_AAA , загуглил я на "xls to dbf harbour" - вылетело, в частности, на пост из конфы "Harbour Users":
http://groups.google.com/group/harbour-users/browse_thread/thread/a7e274f383c77d55

Может, поможет? (при доработке надфилем по месту :) )

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1885
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.09.11 14:05. Заголовок: Oskar_AAA пишет: ес..


Oskar_AAA пишет:

 цитата:
если можно выложить исходный код конвертера XLS To DBF буду благодарен



Я уже сделал 3 программки на Минигуи. С помощью наших гуру... Паши, Филатова и других...
Пример выкладываю. Исходник конвертирования тоже выкладываю, там нетрудно понять и переделать на хХарбор.
http://files.mail.ru/CP2U1B
Я Филатову высылал полные исходники для МиниГуи.
И как я вижу по Екселю нужны примеры решения тех или иных проблем.
Может выложите кто уже работал готовые решения ?
Типа: решение того-то ... исходник...

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 18
Зарегистрирован: 08.02.11
ссылка на сообщение  Отправлено: 12.09.11 00:52. Заголовок: "Ася открыла для..


"Ася открыла для себя прокладки Олвейс"
а я открыл для себя что под харбором для написания экселовских функций лучше использовать нотацию RC.
Например
	//=СЧЁТ(RC[-10]:RC[-1]) 
//=СУММ(RC[-11]:RC[-2])/RC[-1]
//написать формулы
k:=len(aRes)
...
for i:=1 to 24 //часы суток
oSheet:Cells( Row1+i, 1+k+1):Formula:="=СЧЁТ(RC[-"+alltrim(str(k))+"]:RC[-1]"
oSheet:Cells( Row1+i, 1+k+2):Formula:="=ОКРУГЛ(СУММ(RC[-"+alltrim(str(k+1))+"]:RC[-2])/RC[-1];0)"
next

1-количество непустых ячеек среди К ячеек впереди текущей в текущей строке
2-среднее арифметическое среди вышеуказанных ячеек
И никакой возни с преобразованием в буквенное наименование столбцов.
P.S. можно оптимизировать - вынести формирование формул за цикл.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2
Зарегистрирован: 09.09.11
ссылка на сообщение  Отправлено: 12.09.11 06:10. Заголовок: Добрый день, коллеги..


Добрый день, коллеги. Спасибо за информацию. Буду изучать. О результатах сообщу.
Спасибо.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 3
Зарегистрирован: 09.09.11
ссылка на сообщение  Отправлено: 12.09.11 10:08. Заголовок: Андрей, добрый день...


Андрей, добрый день. У меня нет файла Excel.ch - где его взять. Использую xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6476)....


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1886
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.09.11 12:10. Заголовок: Oskar_AAA пишет: У ..


Oskar_AAA пишет:

 цитата:
У меня нет файла Excel.ch - где его взять.


Выслал на почту.


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 4
Зарегистрирован: 09.09.11
ссылка на сообщение  Отправлено: 13.09.11 08:25. Заголовок: Добрый день, вроде п..


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

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 48
Зарегистрирован: 25.02.10
ссылка на сообщение  Отправлено: 03.10.11 14:39. Заголовок: Andrey! Пока я вышел..


Andrey! Пока я вышел из отпуска твои линки уже не работают...
Мож есчо раз выложить эти проги по конвертации?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 59 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 516
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет