Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Выгрузка из DBF в Excel по листам  [new]
sashakuritcin
Member

Откуда:
Сообщений: 4
Доброго времени суток, уважаемые пользователи форума.
Прошу помочь мне, может быть, даже за небольшую оплату, с решением вопроса по экспорту в Excel из DBF файла (формирую запрос, который экспортирую в excel).
Проблема состоит в том, что DBF огромный (1,7 гб, ~1000000 строк, excel у меня 2010-ый, который не понимает этот формат, пробовал открывать через 2007-ой, он намертво виснет при попытке открыть, а предпросмотр показывает иероглифы неверной кодировки), и при экспорте в Excel по стандарту (запрос, экспорт в xls) он выгружает только 65536 строк, а там должно получаться гораздо больше, я не понимаю, как мне выгружать данные по отдельным листам, перерыл весь интернет, но нигде не нашел ничего понятного.
Прошу не лупить тряпками, я никогда не изучал SQL в целом, меня обязали работать с ним по долгу службы (работаю в страховой 3-ий месяц, до этого занимался только 1С ((на уровне готовой среды для выгрузки и загрузки таблиц) и вышеупомянутым Excel`ем), параллельно идёт 4-ый курс и зачетная неделя, в связи с чем не успеваю серьёзно изучать именно программную базу SQL, очень прошу помочь.
24 дек 18, 10:28    [21771804]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1427
1.
sashakuritcin
DBF огромный (1,7 гб, ~1000000 строк
Еще никто не смог доказать необходимость сего действия. Никто не сможет проверить достоверность такого количества выгруженных данных. А вы просто прогибаетесь под идиотские хотелки пользователей не умея доказать абсурдность/идиотскость этих хотелок.
2.
sashakuritcin
выгружать данные по отдельным листам, перерыл весь интернет,
Жутко спорное утверждение. Плохо ищете.
24 дек 18, 10:37    [21771812]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
sashakuritcin
Member

Откуда:
Сообщений: 4
Sergey Sizov,

автор
А вы просто прогибаетесь под идиотские хотелки пользователей не умея доказать абсурдность/идиотскость этих хотелок.

Мне начальству так и передать?

автор
Жутко спорное утверждение. Плохо ищете.

Щито поделать, у меня нет возможности ставить тот же Delphi и через него извращаться над и так засранной таблицей.
Множество кусков кода, которые приводят здесь же, на sql.ru, или на cyberforum`е, или на ответах маил ру, не работают, как бы я ни пытался их вставить в новую программу
А мне всего-то на данный момент нужна сортировка по первой букве в столбце фамилий в dbf-таблице...
24 дек 18, 12:10    [21771884]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1427
sashakuritcin
Sergey Sizov,

автор
А вы просто прогибаетесь под идиотские хотелки пользователей не умея доказать абсурдность/идиотскость этих хотелок.

Мне начальству так и передать?
Как угодно. По крайней мере ВСЕ мои начальники, коих за мои ...дцать лет работы было не мало, таки понимали мои объяснения.

автор
Жутко спорное утверждение. Плохо ищете.

Щито поделать, у меня нет возможности ставить тот же Delphi и через него извращаться над и так засранной таблицей.
Множество кусков кода, которые приводят здесь же, на sql.ru, или на cyberforum`е, или на ответах маил ру, не работают, как бы я ни пытался их вставить в новую программу
А мне всего-то на данный момент нужна сортировка по первой букве в столбце фамилий в dbf-таблице...
И при чем тут Delphi? Каким боком?
При чем тут сортировка? Вы не умеете делать индексы к таблицам?
А код из интернетов надо творчески перерабатывать, а не тупо копипастить. Готовый код вам никто не даст.
Вот немного для затравки:
oExcel=Createobject("Excel.Application")
oExcel.Visible=.F.
Dimension laExcel[10]

With oExcel
	.WorkBooks.Add()

	nSheets=.Sheets.Count
	For N=1 To nSheets-1
		.Sheets(N).Delete()
	Endfor
	lcPriseListName="Прайс-лист "+Iif(llIsSpez, comune2, '')
	.Sheets(1).Name = lcPriseListName

Надеюсь, догадаетесь. что Sheet - это как раз Лист, .Sheets(N).Delete() - удаление листа и для добавления надо использовать что-то вроде .Sheets(N).Add() и т.д.
Если поищете в тырнете по использованным командам, то наверняка обнаружите, что обыскали таки далеко не весь интернет.
24 дек 18, 12:34    [21771920]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
sashakuritcin
Member

Откуда:
Сообщений: 4
Sergey Sizov,

Спасибо за ответ, попробую этот вариант переработать
24 дек 18, 13:59    [21772053]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
Dima T
Member

Откуда:
Сообщений: 13672
sashakuritcin
Доброго времени суток, уважаемые пользователи форума.
Прошу помочь мне, может быть, даже за небольшую оплату, с решением вопроса по экспорту в Excel из DBF файла (формирую запрос, который экспортирую в excel).
Проблема состоит в том, что DBF огромный (1,7 гб, ~1000000 строк, excel у меня 2010-ый, который не понимает этот формат, пробовал открывать через 2007-ой, он намертво виснет при попытке открыть, а предпросмотр показывает иероглифы неверной кодировки), и при экспорте в Excel по стандарту (запрос, экспорт в xls) он выгружает только 65536 строк, а там должно получаться гораздо больше, я не понимаю, как мне выгружать данные по отдельным листам, перерыл весь интернет, но нигде не нашел ничего понятного.
Прошу не лупить тряпками, я никогда не изучал SQL в целом, меня обязали работать с ним по долгу службы (работаю в страховой 3-ий месяц, до этого занимался только 1С ((на уровне готовой среды для выгрузки и загрузки таблиц) и вышеупомянутым Excel`ем), параллельно идёт 4-ый курс и зачетная неделя, в связи с чем не успеваю серьёзно изучать именно программную базу SQL, очень прошу помочь.

Не надо из фокса экспортировать в эксель. Фокс сохраняет в формат Exсel 5, а там было 65536 строк.
Лист экселя 2010 максимум 1 048 577 строк. Так что влезет.

Открыть экселем не всегда получается, т.к. эксель коряво читает DBF, лучше возьми опенофис, там скорее всего должен открыться твой файл, затем пересохрани в эксель.

Ну и второй вариант: сохрани в TXT с разделителем табуляцией
copy To my.txt delimited with tab

затем экселем открывай my.txt
24 дек 18, 14:14    [21772085]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
sashakuritcin
Member

Откуда:
Сообщений: 4
Dima T,

Спасибо огромное, перевод в текст сработал
25 дек 18, 08:35    [21772658]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
Alex Bereznyuk
Member

Откуда:
Сообщений: 6
Dima T,

Можно прямо в Ексель сбросить copy To my.xls type xls
28 мар 19, 14:24    [21846120]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
Dima T
Member

Откуда:
Сообщений: 13672
Alex Bereznyuk
Dima T,

Можно прямо в Ексель сбросить copy To my.xls type xls

Нельзя, ТС из-за этого поднял топик, перечитай первый пост внимательно.
28 мар 19, 14:32    [21846133]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
Alex Bereznyuk
Member

Откуда:
Сообщений: 6
Dima T,

Есть еще один способ, использовать GENREP.DLL и шаблон файла в формате Ексель - http://genrep.net/genrep.htm
там демо-версия с ограничениями по записям, но могу дать файлик без ограничений.
28 мар 19, 15:13    [21846195]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
982183
Member

Откуда: VL
Сообщений: 2863
sashakuritcin
Проблема состоит в том, что DBF огромный (1,7 гб, ~1000000 строк, excel у меня 2010-ый, который не понимает этот формат, пробовал открывать через 2007-ой, он намертво виснет при попытке открыть, а предпросмотр показывает иероглифы неверной кодировки)

Странно. у меня 2010-й открывает DBF без проблем.
Но не сохраняет.
sashakuritcin
, и при экспорте в Excel по стандарту (запрос, экспорт в xls) он выгружает только 65536 строк,

Всё правильно.
xls только столько строк поддерживает.
Возможно более свежая версия фокса может делать экспорт в xlsх
28 мар 19, 15:33    [21846233]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
Dima T
Member

Откуда:
Сообщений: 13672
Alex Bereznyuk
Dima T,

Есть еще один способ, использовать GENREP.DLL и шаблон файла в формате Ексель
там демо-версия с ограничениями по записям, но могу дать файлик без ограничений.

Спасибо, не надо.
Лично я не буду использовать стороннюю DLL когда есть способы обойтись штатными средствами.
28 мар 19, 15:38    [21846241]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
Dima T
Member

Откуда:
Сообщений: 13672
982183
sashakuritcin
Проблема состоит в том, что DBF огромный (1,7 гб, ~1000000 строк, excel у меня 2010-ый, который не понимает этот формат, пробовал открывать через 2007-ой, он намертво виснет при попытке открыть, а предпросмотр показывает иероглифы неверной кодировки)

Странно. у меня 2010-й открывает DBF без проблем.
Но не сохраняет.

У тебя не фоксовская DBF. Фоксовские эксель никогда не открывал.
Но можно предварительно сделать экспорт, тогда откроет
copy to myfile.dbf type fox2x as 866

982183
Возможно более свежая версия фокса может делать экспорт в xlsх

Самая свежая версия не может. Да и не свежая она, последний VFP9 SP2 вышел в 2007 году.
28 мар 19, 15:43    [21846248]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
asdor
Member

Откуда: Москва
Сообщений: 447
982183
Возможно более свежая версия фокса может делать экспорт в xlsх

Откуда она возьмется?)))
Фокс прекратили поддерживать, до появления формата xlsх
28 мар 19, 15:44    [21846251]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
982183
Member

Откуда: VL
Сообщений: 2863
Последний патч к VFP 9 был в 2009 году.
28 мар 19, 16:24    [21846320]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
982183
Member

Откуда: VL
Сообщений: 2863
Dima T
У тебя не фоксовская DBF. Фоксовские эксель никогда не открывал.

Как раз наоборот - файлы от VFP не открывал.
А старые форматы - запросто.
28 мар 19, 16:27    [21846325]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка из DBF в Excel по листам  [new]
Dima T
Member

Откуда:
Сообщений: 13672
982183
Dima T
У тебя не фоксовская DBF. Фоксовские эксель никогда не открывал.

Как раз наоборот - файлы от VFP не открывал.
А старые форматы - запросто.

Я это и хотел сказать что файлы от VFP не откроет. Открывает формат FoxPro for DOS, там заголовок DBF немного другой и кодовая страница 866 (DOS).
28 мар 19, 16:41    [21846347]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить