Добро пожаловать в форум, 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

Откуда:
Сообщений: 1370
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

Откуда:
Сообщений: 1370
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

Откуда:
Сообщений: 13023
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]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить