Открыть TXT файл в Excel через CLIENT_OLE2. Нужна помощь знатоков

Маньяк
Дата: 12.06.2006 12:50:01
Доброго времени суток всем

задача следующая. генерим txt - файл c разделителями (в моем случае табуляция). хотим открыть этот файл программно воспользовавшись CLIENT_OLE2 (из webutil)
пишу такой код

	application := client_ole2.create_obj('Excel.Application');
	client_ole2.set_property(application, 'DisplayAlerts', 0); 	
	workbooks := client_ole2.get_obj_property(application, 'Workbooks');

 	arglist := client_ole2.create_arglist;
	client_ole2.add_arg(arglist, TXT_File);
	client_ole2.add_arg(arglist, 2); -- параметр - Origin = xlWindows
	client_ole2.add_arg(arglist, 1); -- параметр - StartRow = 1
	client_ole2.add_arg(arglist, 1); -- параметр - DataType = xlDelimited
	client_ole2.add_arg(arglist, 0); -- параметр - TextQualifier = xlDoubleQuote
	client_ole2.add_arg(arglist, 0); -- параметр - ConsecutiveDelimiter = false	client_ole2.add_arg(arglist, 1); -- параметр - Tab = true
	client_ole2.add_arg(arglist, 0); -- параметр - Semicolon = false
	client_ole2.add_arg(arglist, 0); -- параметр - Comma = false
	client_ole2.add_arg(arglist, 0); -- параметр - Space = false
	client_ole2.add_arg(arglist, 0); -- параметр - Other = false
--ну и последний параметер FieldInfo
  client_ole2.add_arg(arglist, 'Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 2), Array(6, 2), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 2), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1))');

  workbook := client_ole2.get_obj_property(workbooks, 'OpenText', arglist);
  client_ole2.destroy_arglist(arglist);
  client_ole2.set_property(application, 'Visible', 1);
  worksheets := client_ole2.get_obj_property (workbook, 'WorkSheets');
  arglist := client_ole2.create_arglist;
  client_ole2.add_arg(arglist, 1);
  worksheet := client_ole2.get_obj_property (workbook, 'Worksheets', arglist);
  client_ole2.destroy_arglist(arglist);

если не указываю никаких параметров к открытию кроме названия файла, то файл открывается.Но дальше никак ;-((
стоит добавить хоть один параметр файл не открывается совсем
замучился уже экспериментировать с параметрами
появилась мысль,может через ole2 - это и не должно работать???

спасибо за внимание
Маньяк
Дата: 12.06.2006 15:45:39
И еще, кто-нибудь использует уже webutil 1.06 ?

подскажите исправлена там ошибка по выгрузке русских букв через
client_text_io ?
Кудрявцев Леонид
Дата: 13.06.2006 10:01:32
client_ole2.add_arg(arglist, 'Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 2), Array(6, 2), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 2), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1))');

Такая порнография работать не будет.
С массивами вообще облом, IMHO их никак в Excel не передать. В Client-Server можно было бы попытаться использовать ActiveX build-ins, но в Web-Forms они уже не поддерживаются.
Маньяк
Дата: 13.06.2006 12:19:50
Кудрявцев Леонид
client_ole2.add_arg(arglist, 'Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 2), Array(6, 2), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 2), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1))');

Такая порнография работать не будет.
С массивами вообще облом, IMHO их никак в Excel не передать. В Client-Server можно было бы попытаться использовать ActiveX build-ins, но в Web-Forms они уже не поддерживаются.


да, разобрался уже

спасибо
Маньяк
Дата: 14.06.2006 11:09:15
а кто-нибудь поставил webutil 1.06 ???
исправили они свою ошибку с client_text_io и кодировкой?

стоит мне заморачиваться с апгрейдом?
FRM-42100
Дата: 14.06.2006 11:17:52
Не уверен на 100% (вроде в свое время проверял, но сейчас точно не помню, а потестить в данным момент не могу), но кажется исправили.
Маньяк
Дата: 14.06.2006 13:15:24
FRM-42100
Не уверен на 100% (вроде в свое время проверял, но сейчас точно не помню, а потестить в данным момент не могу), но кажется исправили.

спасибо, уже легче
попробую локально обновить
потом расскажу