powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как таблицу dbf сохранить в Excеll
25 сообщений из 30, страница 1 из 2
Как таблицу dbf сохранить в Excеll
    #38546656
Помогите пожалуйста! У меня есть таблица с тремя полями таб.номер, фио, должность, которую я создаю в Vfp9. Нужно сохранить ее в Excеlе чтоб три ячейки первой строки были объединены и там было название таблицы "списки на премию", ниже были три мои поля-названия их должны быть жирным шрифтом, и далее все строки таблицы.
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38546888
Елена Пантера,
Слишком много нужно объяснять. Начиная с работы с объектами MS Office в VFP. Для начала почитайте справку по работе с объектами (CreateObject, NewObject), по Automation, а также, как ни странно, по VBA (Visual Basic for Application).

Кратко алгоритм работы:
- Открывается или создается новый объект типа Excel.Application
- создается новая книга
- выбирается интервал колонок и строк и проводится их объединение
- в объединенную ячейку вставляется текст, изменяется шрифт и жирность шрифта
- сканом проходим по таблице и выводим каждое поле каждой строки в соответствующую ячейку книги Excel....

Как минимум в строках 2,3,4 указанного мной алгоритма потребуется знание VBA и умение перевести его команды в команды VFP...

Можно поступить проще:
Открыть dbf в Excel (он это умеет), сохранить как файл xls. А дальше уже внести все необходимые исправления "ручками"...
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38547004
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38547749
Станислав С...кий Можно поступить проще:
Открыть dbf в Excel (он это умеет), сохранить как файл xls. А дальше уже внести все необходимые исправления "ручками"...
Вот ручками как раз мне не надо, потому что у меня будет много отчетов.
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38547752
Penner http://www.foxclub.ru/articles/art41.php
спасибо за ссылку. Попробую разобраться.
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38547795
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елена Пантераручками как раз мне не надоЗдесь больше подразумевалось, что "ручками" - это "уже в Excel". Т.е. если вы хотите задействовать именно Excel как программу для получения конечного вида отчёта - то всё равно придётся влезать в понимание его объектной модели и имеющихся средств VBA... Вам тогда надо на форум по Офису/Экзелю, с вопросом "хочу отчёт вот такого конкретного вида, данные буду брать из такой-то таблицы/источника".
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38566873
Как мне после создания и заполнения листа Excel сохранить таблицу на диске D:\ychet, закрыть эту таблицу и потом заново ее открыть в Foxpro для дальнейшего редактирования?
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38566961
Елена Пантера,
Чтобы сохранить по нужному пути:
Записать макрос на Excel VBA при помощи макрорекордера и перенести его в Вашу программу, внеся необходимые изменения с учетом специфики FoxPro...

А зачем в FoxPro открывать файл Excel, да еще и на редактирование?! Файл Еxcel для того и создается, чтобы с ним в Excel работали!!!
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38566975
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С...кийА зачем в FoxPro открывать файл Excel, да еще и на редактирование?! Файл Еxcel для того и создается, чтобы с ним в Excel работали!!!А может, ТС хочет открыть этот файл экселем, но запускаться эксель должен из фокса? Хотя тогда непонятно, зачем закрывать/открывать, достаточно ведь (сохранить книгу и) выполнить loExcel.visible=.t.
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38567614
Я пишу

* Создаем объект Excel
LOCAL loExcel
loExcel=CREATEOBJECT('Excel.Application')

* Создаем в нем новую рабочую книгу
LOCAL loBook
#DEFINE xlWBATWorksheet -4167
loBook = m.loExcel.workbooks.Add(xlWBATWorksheet)

* Создаем ссылку на новый лист в рабочей книге
LOCAL loSheet
loSheet = m.loBook.Sheets(1)


#DEFINE xlThin 2
#DEFINE xlDiagonalDown 5
#DEFINE xlDiagonalUp 6
#DEFINE xlEdgeLeft 7
#DEFINE xlEdgeTop 8
#DEFINE xlEdgeBottom 9
#DEFINE xlEdgeRight 10
#DEFINE xlInsideVertical 11
#DEFINE xlInsideHorizontal 12

#DEFINE xlCenter -4108
#DEFINE xlTop -4160
#DEFINE xlMedium -4138


LOCAL loRange
loRange = m.loSheet.Range(m.loSheet.Cells(1,1).Address+":"+m.loSheet.Cells(1,10).Address)
loRange.Borders(xlEdgeLeft).Weight = xlMedium
loRange.Borders(xlEdgeTop).Weight = xlMedium
loRange.Borders(xlEdgeBottom).Weight = xlMedium
loRange.Borders(xlEdgeRight).Weight = xlMedium
loRange.Borders(xlInsideVertical).Weight = xlMedium
loRange.Borders(xlInsideHorizontal).Weight = xlMedium

loExcel.Range(loExcel.Cells(1,1),loExcel.Cells(1,10)).Merge()
m.loSheet.Cells(1,1).Value = "Название таблицы"

m.loSheet.Rows(1).HorizontalAlignment = xlCenter
m.loSheet.Rows(1).VerticalAlignment = xlTop
m.loSheet.Rows(1).WrapText = .T.

loExcel.Visible=.T.

Теперь как мне этот файл сохранить в D:\ychet\tablitsa1.xls ??? (программно сохранить)
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38567670
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елена Пантера,

авторВот ручками как раз мне не надо, потому что у меня будет много отчетов.

а почему в ексель --в чем назначение отчета
--только просмотр
--корректировка
--распечатка
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38567994
tanglir,
в том то и дело, я не могу сохранить пишу loExcel.Visible=.T..SaveAs("D:\ychet.otchet1.xls") фокс выдает ошибку
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38568261
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елена Пантера, не изобретайте свой синтаксис.
Код: sql
1.
2.
loExcel.activeworkbook.SaveAs("D:\ychet.otchet1.xls") 
loExcel.Visible=.T.


И вообще, поставьте после создания эксель-объекта брейкпойнт, запустите программу, дождитесь остановки, выйдите в командное окно, наберите "loExcel" и поставьте точку. Вам высветится список свойств и методов эксель-объекта, изучайте и выбирайте нужный - они в большинстве своём названы так, что сразу понятно, какой что делает :)
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38568427
tanglir,

если я повторно запускаю программу у меня выходит ошибка, что такой файл уже есть, как сделать, чтоб файл автоматически перезаписывался.
И обьясните что такое брейкпоинт и куда я должна заходить
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38568432
Дед Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставь пред .ActiveWorkBook.SaveAs()
.DisplayAlerts = .F.
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38568469
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елена ПантераИ обьясните что такое брейкпоинтискать по слову breakpoint
или просто выполнить двойной щелчок слева от нужной строки кода в окне редактирования (там слева есть такая серая полоса)
Дед ЕвгенийПоставь пред .ActiveWorkBook.SaveAs()
.DisplayAlerts = .F.я обычно вообще сразу после создания объекта это выполняю :)
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38568761
tanglir,

не подскажите еще мне надо вставить в таблицу строку в самом начале, захожу в макрос эксель пишет Rows("1:1").Select
Selection.Insert Shift:=хlDown
пыталась перевести это в фокс не получается. Помогите
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38568796
Елена Пантераtanglir,

не подскажите еще мне надо вставить в таблицу строку в самом начале, захожу в макрос эксель пишет Rows("1:1").Select
Selection.Insert Shift:=хlDown
пыталась перевести это в фокс не получается. Помогите

1. Зачем вставлять, когда можно начинать выводить данные сразу со второй, третьей и т.д. строки
2. макрос будет каким-то таким:
Код: vbnet
1.
       loExcel.Worksheet.Rows(1).Insert(xlDown)
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38568882
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С...кий
Код: vbnet
1.
Worksheet

activeworkbook ЕМНИП
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38569034
loExcel=CREATEOBJECT('Excel.Application')

loBook = m.loExcel.workbooks.Open('d:\&z1\1\&x1')
loSheet = m.loBook.Sheets(1)



LOCAL loRange
loRange = m.loSheet.Range(m.loSheet.Cells(1,1).Address+":"+m.loSheet.Cells(n1,8).Address)
loRange.Borders(xlEdgeLeft).Weight = xlThin
loRange.Borders(xlEdgeTop).Weight = xlThin
loRange.Borders(xlEdgeBottom).Weight = xlThin
loRange.Borders(xlEdgeRight).Weight = xlThin
loRange.Borders(xlInsideVertical).Weight = xlThin
loRange.Borders(xlInsideHorizontal).Weight = xlThin

m.loSheet.Columns(1).ColumnWidth = 4.29
m.loSheet.Columns(2).ColumnWidth = 5
m.loSheet.Columns(3).ColumnWidth = 9.29
m.loSheet.Columns(4).ColumnWidth = 6.29

m.loSheet.Columns(6).ColumnWidth = 7.29
m.loSheet.Columns(7).ColumnWidth = 7.29
m.loSheet.Columns(8).ColumnWidth = 7.29
m.loSheet.Rows(1).Font.Bold = .T.
m.loSheet.Rows(n1).Font.Bold = .T.
m.loSheet.Columns(5).delete
*m.loSheet.Rows(1).insert
loSheet.Rows(1).Insert(xlDown)

loExcel.Range(loExcel.Cells(1,1),loExcel.Cells(1,8)).Merge()


m.loSheet.Cells(1,1).Value = "Аренда по локомотивам"

m.loSheet.Rows(1).Font.Bold = .T.

У меня первая строка не объединяет ячейки, там есть "Аренда по локомотивам" жирным шрифтом, но ячейки не объединились
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38569035
У меня экселевская таблица в формате type xl5
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38569054
Все получилось, у меня таблица оказывается была в эксел 2.1. Я поменяла на xl5.
Вопрос вот я пишу
brow
copy to d:\1\оtch аll type xl5
какие разновидности typе еще есть?
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38569056
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елена Пантеракакие разновидности typе еще есть?
Кнопка F1 вызывает хэлп, там все написано
HELPCOPY TO FileName [DATABASE DatabaseName [NAME LongTableName]]
[FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[ [WITH] CDX ] | [ [WITH] PRODUCTION ] [NOOPTIMIZE]
[ [TYPE] [ FOXPLUS | FOX2X | DIF | MOD | SDF | SYLK | WK1 | WKS | WR1
| WRK | CSV | XLS | XL5 | DELIMITED [ WITH Delimiter | WITH BLANK
| WITH TAB | WITH CHARACTER Delimiter ] ] ] [AS nCodePage]
http://msdn.microsoft.com/en-us/library/aa977446(v=vs.71).aspx
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38569058
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Елена ПантераloRange = m.loSheet.Range(m.loSheet.Cells(1,1).Address+":"+m.loSheet.Cells(n1,8).Address)
так надо
Код: sql
1.
loRange = m.loSheet.Range(m.loSheet.Cells(1,1), m.loSheet.Cells(n1,8))
...
Рейтинг: 0 / 0
Как таблицу dbf сохранить в Excеll
    #38575594
У меня опять проблема. Я оформила таблицу в Excel как мне и надо было!! Теперь я добавляю лист: loBook.Sheets.Add, но он вставляется впереди моего листа, а мне нужно после. Зашла в макрос еxcеl, перетаскиваю лист написано Movе Aftеr=Shееt(2), пыталась перевести в fox, не получается помогите...?!
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как таблицу dbf сохранить в Excеll
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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