Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите побороть TextToColumns / 11 сообщений из 11, страница 1 из 1
09.02.2007, 11:23
    #34318305
and-ray
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
Неполучается через фокс открыть экселевский файл и выполнить над ним TextToColumns

LOCAL loexcel as excel.application
loexcel=CREATEOBJECT("EXCEL.APPLICATION")
LOCAL lobook as excel.workbook
lobook=m.loexcel.Workbooks.Open("aaa.xls")
LOCAL losheet as excel.worksheet
losheet=m.lobook.sheets(1)
loexcel.Visible=.T.
#DEFINE xlDelimited 1
#DEFINE xlDoubleQuote 1

losheet.columns("L:L").TextToColumns("L1",xlDelimited,xlDoubleQuote,.F.,.F.,.F.,.T.,.F.,.F.,,Array(Array(1,1),Array(2,1),Array(3,1),Array(4,1),Array(5,1)),,.T.)

сама функция TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator)

неработает((( подскажите пожалуйста в чем ошибка как объяснить через фокс эксэлю
...
Рейтинг: 0 / 0
09.02.2007, 11:37
    #34318382
FFFFFFFF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
авторнеработает((( подскажите пожалуйста в чем ошибка как объяснить через фокс эксэлю
Подскажите, что делаете и что не работает.
...
Рейтинг: 0 / 0
09.02.2007, 11:50
    #34318446
and-ray
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
Я открываю эксэлевский файл, там есть поле со значением (размер обуви=количество)

35.0=4,36.0=3,37.0=2,38.0=7,39.0=3,40.0=3,41.0=3,

Нужно это поле разбить на 8 полей используя разделитель запятая используя TextToColumns (строку по столбцам)
...
Рейтинг: 0 / 0
09.02.2007, 11:53
    #34318459
and-ray
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
А может подскажете как в фоксе это сделать и не мучаться с эксэлем
...
Рейтинг: 0 / 0
09.02.2007, 12:20
    #34318605
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
Код: plaintext
1.
2.
3.
lcStr = '35.0=4,36.0=3,37.0=2,38.0=7,39.0=3,40.0=3,41.0=3'
For i= 1  to GetWordCount(lcStr, ',')
  ?GetWordNum(lcStr, i, ',')
next
...
Рейтинг: 0 / 0
09.02.2007, 14:23
    #34319333
and-ray
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
А если у меня таблица

поле1 поле2
магазин1 35.0=4,36.0=3,37.0=2,38.0=7
магазан2 35.0=4,36.0=3,37.0=2,38.0=7
магазин3 35.0=4,36.0=3,37.0=2,38.0=7

надо чтоб
поле1 поле2 поле3 поле4 поле5
магазин1 35.0=4 36.0=3 37.0=2 38.0=7
магазан2 35.0=4 36.0=3 37.0=2 38.0=7
магазин3 35.0=4 36.0=3 37.0=2 38.0=7

посоветуйте пожалуйста.....
...
Рейтинг: 0 / 0
09.02.2007, 14:35
    #34319411
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
И что мешает отрезать магазин и оставшуюся часть обработать предложенным способом?
...
Рейтинг: 0 / 0
09.02.2007, 14:37
    #34319422
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
Или надо просто заменить запятые пробелом? Так это еще проще:
Код: plaintext
Chrtans(lcStr, ',', ' ')
...
Рейтинг: 0 / 0
09.02.2007, 15:15
    #34319636
and-ray
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
Магазин это отдельное поле и оно привязано к размерам если убрать магазин то каша получиться

или если было бы идеально сделать так

поле1 поле2
магазин1 35.0=4,36.0=3,37.0=2
магазан2 35.0=4,36.0=3,37.0=2

преобразовать в

поле1 поле2
магазин1 35.0=4
магазин1 36.0=3
магазин1 37.0=2
магазин2 35.0=4
магазин2 36.0=3
магазин2 37.0=2
...
Рейтинг: 0 / 0
10.02.2007, 00:49
    #34320821
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT ;
	Field1, ;
	PADR(GetWordNum(Field2, 1 ,","), 10 ) as Word1, ;
	PADR(GetWordNum(Field2, 2 ,","), 10 ) as Word2, ;
	PADR(GetWordNum(Field2, 3 ,","), 10 ) as Word3, ;
	PADR(GetWordNum(Field2, 4 ,","), 10 ) as Word4, ;
	PADR(GetWordNum(Field2, 5 ,","), 10 ) as Word5, ;
	PADR(GetWordNum(Field2, 6 ,","), 10 ) as Word6, ;
	PADR(GetWordNum(Field2, 7 ,","), 10 ) as Word7, ;
	PADR(GetWordNum(Field2, 8 ,","), 10 ) as Word8 ;
FROM MyTab ;
INTO CURSOR CurXLS NOFILTER

COPY TO aaa.xls TYPE XL5

Число 10 в функции PADR() - условно. Это максимальное количество символов, которое может быть в одном столбце. Если заранее это не известно, то можно поставить размерность поля Field2
...
Рейтинг: 0 / 0
12.02.2007, 11:26
    #34323053
and-ray
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите побороть TextToColumns
Спасибо всем огромное!!! То что надо!!!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите побороть TextToColumns / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]