|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Подготовил курсор для копирования данных из xlsx файла. Теперь как можно выбрать например 1, 5 или 8-е поле из xlsx файла в курсор? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 11:31 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
новичок20142014, никто не знает что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:11 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Или все столбцы как скопировать в курсор? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:15 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Тебе уже тут ответили http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1114675&msg=16549551 Непонятно - там и уточняй. Не надо топики плодить. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:25 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Dima T, ничего не ответили мне там. Там про цвет начали говорить и считать количество строк, от 8 до 28, хотя их там может быть гораздо больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:27 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
новичок20142014Dima T, ничего не ответили мне там. Там про цвет начали говорить и считать количество строк, от 8 до 28, хотя их там может быть гораздо больше. Тебе там подход показали для решения твоей задачи. Читаешь по одной ячейке и сохраняешь куда тебе надо. Можешь в курсор. Есть другие способы, но они сложнее. Этот самый простой. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:33 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Вот по такому способу я понимаю что какие-то ячейки выводятся на экран. xl = CREATEOBJECT ('Excel.Application') xl.Workbooks.Add("C:\Book.xlsx") ? xl.Cells(7,18).Value ? xl.Cells(7,18).Interior.Color Но я не понимаю например как получить все строки 2-го столбца, или 5-го столбца в цикле. Строк может быть и 1000. Как вот реализовать цикл например для копирования всех строк 2-го столбца? Один пример покажите что вот таким кодом можно выбрать строки 2-го столбца и потом копировать, и т.д. их ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:49 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
В экселе нет "концов". Лично я делаю так: читаю последовательно, как получил 10 пустых строк подряд - считаю что конец таблицы. примерно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 12:57 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Dima T, А можете прокомментировать что делает ваш код? lnEmpty = 0 lnRow = 0 do while lnEmpty < 10 //тут наверное цикл пока меньше 10 пустых строк lnRow = lnRow + 1 // тут ? lcVal = xl.Cells(7,lnRow).Value //? if empty(lcVal) //? lnEmpty = lnEmpty + 1//? loop endif lnEmpty = 0 //? ? lcVal //? enddo ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 13:02 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
новичок20142014, а где твоя смекалка и наблюдательность? Вот тебе ещё одна разведка. xl = CREATEOBJECT ('Excel.Application') xl.Workbooks.Add('C:\Book.xlsx') ? xl.Cells(29,1).Value В этой ячейке у тебя значение "Всего:" Организуешь цикл: RowNo = 8 DO WHILE VARTYPE (xl.Cells[RowNo,1]) != 'C' OR xl.Cells[RowNo,1] != 'Всего:' ... RowNo = RowNo + 1 ENDDO ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 13:16 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Так вроде понятно: lnEmpty счетчик пустых строк lnRow номер обрабатываемой строки далее в цикле читаем в переменную lcVal ячейку экселя с координатами (7,lnRow) если в lcVal пусто - увеличиваем счетчик пустых, уходим в начало цикла. Добавь в начало Код: sql 1. 2.
и запусти. Ну и 7 на 2 замени. Тебе же 2й столбец надо. PS Возможно напутал (7,lnRow) и надо (lnRow,7). Не помню где строка, где столбец. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 13:18 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
новичок20142014, если уж ты так настроился, чтоб тебя кормили с ложечки, не забудь по завершении работы с Эксел-таблицей написать xl.Quit() xl =0. Иначе экземпляр Эксела будет маячить в Диспетчере задач, пока не закроешь приложение Фокса. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 13:28 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Блин такой подход неправильный получается, потому что некоторые строки могут не содержать значений, а потом иметь значения. Например в каком-то столбце идут 10 значений подряд, затем 20 пустых строк, а затем опять значения. и не факт что 20 пустых. Можно как-то полностью скопировать таблицу xlsx в курсор? Чтобы потом в курсоре дальше? Причем скопировать не сначала, а с 8-ой строки? Я раньше не имел дело с exel поэтому сложно. только экспортировал из курсора в excel и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 13:34 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
новичок20142014Я раньше не имел дело с exel поэтому сложно. только экспортировал из курсора в excel и все. Считай что читаешь двухмерный массив бесконечного размера, у которого в начале что-то записано. По хорошему разбор делается в два шага: 1. Найти шапку таблицы и по названиям столбцов определить какую колонку в какое поле курсора писать. Если заголовка не нашел - файл неправильного формата. 2. Начиная со следующей строки: читаешь нужные ячейки строки, добавляешь запись в курсор и пишешь прочитанное в соответствующие поля курсора. Ну и не забывай проверять тип прочитанных данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 13:44 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
новичок20142014, исправляю описку в своём 13:16 В заголовке цикла, конечно, как и везде, надо обращаться к свойству Value экселовской ячейки. А если некоторые ячейки "совсем" не заполнены, то прежде использования их значения, надо проверить, что там не NULL: Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 13:44 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
А это команда может импортировать xlsx в dbf? как есть? у меня он ошибку выдает IMPORT FROM FileName [TYPE] FW2 | MOD | PDOX | RPD | WK1 | WK3 | WKS | WR1 | WRK | XLS | XL5 [SHEET cSheetName] [AS nCodePage] IMPORT FROM "C:\1.xlsx" TYPE XL8 SHEET "Результат" или не так пишу? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 14:05 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
новичок20142014А это команда может импортировать xlsx в dbf? как есть? Нет ХэлпXL8 Include XL8 to import data from Microsoft Excel 97 . Columns from the worksheet become fields in the table; the worksheet rows become records in the table. Worksheet files created in Microsoft Excel have an .xls extension . ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 14:11 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Dima T, А вы не могли бы привести пример на примере такой таблицы (я ее специально уменьшил и желтым выделил основные столбцы. В исходном они не выделены, на цвет не нужно внимание обращать) (в таблице есть просто объединенные ячейки тоже), поэтому хочу просто скопировать xlsx в курсор и потом оттуда нужное брать: Вот как эту таблицу импортировать в курсор, с учетом того что 5-я строка это заголовки курсора будут, а с 8-ой включительно это значения? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 14:17 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
нашел такой код на форуме, но он выдает в ячейках NULL или memo, а некоторые поля отображаются. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 14:30 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Нашел такой код, который импортирует данные xlsx в курсор, но поля, где есть значения отображаются как memo, а поля где нет значений как NULL. Как сделать отображение значений? Когда навожу на значение memo высвечивается значение которое зашифровано в memo. Вот код. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 16:09 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2014, 16:10 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
новичок20142014, зачем тебе фокс если ты на нем писать не умеешь? Может сначала книжку какую по фоксу почитать? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 14:30 |
|
Выбрать определенный столбец xlsx файла
|
|||
---|---|---|---|
#18+
авторБлин такой подход неправильный получается, потому что некоторые строки могут не содержать значений, а потом иметь значения Попробуй "конец" таблицы ловить так Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2014, 15:22 |
|
|
start [/forum/topic.php?fid=41&fpage=30&tid=1582561]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 325ms |
total: | 475ms |
0 / 0 |