0 / 0 / 0
Регистрация: 21.01.2008
Сообщений: 240
1

Импорт из вложенного файла Excel

17.03.2009, 15:24. Показов 21274. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем,доброго дня!

Необходимо вытащить данные из файла xls в поле на форме. Как это сделать с указанием пути к файлу я знаю.
Как быть,если файл лежит а ричтекст поле на этой же форме? Так же указывать путь? Или использовать GetEmbeddedObject?
Заранее спасибо,за понимание и помощь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2009, 15:24
Ответы с готовыми решениями:

Автоматическое сохранение вложенного файла в excel
Помогите решить такую проблему - раз в несколько дней от одного и того же пользователя приходит...

Как можно добраться до вложенного в сообщение Outlook файла Excel?
Как можно добраться до вложенного в сообщение OUtLook файла Excel. Заранее спасибо.

Импорт файла Excel с датами создания и обновления файла
Здравствуйте, Знающие люди, есть необходимость импортировать excel файлы с их датами...

Импорт excel файла в бд
Есть 20 xls файлов которые необходимо импортировать в бд mssql 2017. Попробовал способ с...

14
0 / 0 / 0
Регистрация: 20.10.2008
Сообщений: 271
17.03.2009, 15:52 2
rtitem.EmbeddedObjects

Когда будешь доставать файл из ричтекста, сохранишь его на диске в темповой дирректории, откроешь по пути, по которому будешь его сохранять ;) Собственно после обработки, можешь его даже удалить, чтобы место на диске не захламлять (только не забудь закрыть объект Excel).
0
0 / 0 / 0
Регистрация: 21.01.2008
Сообщений: 240
17.03.2009, 16:17 3
Цитата Сообщение от abbatik
rtitem.EmbeddedObjects

Когда будешь доставать файл из ричтекста, сохранишь его на диске в темповой дирректории, откроешь по пути, по которому будешь его сохранять ;) Собственно после обработки, можешь его даже удалить, чтобы место на диске не захламлять (только не забудь закрыть объект Excel).
Я так понимаю без сохранения файла на диск не обойтись?
0
0 / 0 / 0
Регистрация: 20.10.2008
Сообщений: 271
17.03.2009, 16:36 4
Стандартными средствами Лотуса - нет.
А какие проблемы с сохранением? Еще раз повторюсь, что после обработки файл можно Kill-нуть ;)
0
0 / 0 / 0
Регистрация: 18.08.2008
Сообщений: 1,698
17.03.2009, 17:01 5
kilcher
тю... детачить файл в темповую директорию... а дальше работать как обычно

Извиняюсь.... долго писал
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
17.03.2009, 18:47 6
ну воще-то потребность сохранения файла на диск, в данном случае - результат убогости реализации доступа к COM
вот ежели не пользоваться эхель файлом - то мона и не пользовать COM, и как следствие - не сохранять файло в темп
но это совсем др. история ;)
0
0 / 0 / 0
Регистрация: 21.01.2008
Сообщений: 240
18.03.2009, 11:17 7
Прошу прощения,если вопрос покажется глупым. Но что то не могу найти как удалять файл по пути?
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
18.03.2009, 11:23 8
Kill
0
0 / 0 / 0
Регистрация: 21.01.2008
Сообщений: 240
18.03.2009, 12:24 9
Цитата Сообщение от Medevic
Kill

Спасибо! Ни у кого нет примера экспорта значения поля в екселевскую ячеку? Или хотя бы как правильно писать дпнную сторку в коде
xlsheet.xlCells(row, 1).Value= doc.a(0) + {}

При таком написании ошибка ,видимо xlsheet здесь не в кассу?
0
0 / 0 / 0
Регистрация: 15.12.2006
Сообщений: 641
18.03.2009, 12:35 10
Цитата Сообщение от kilcher
Спасибо! Ни у кого нет примера экспорта значения поля в екселевскую ячеку? Или хотя бы как правильно писать дпнную сторку в коде
xlsheet.xlCells(row, 1).Value= doc.a(0) + {}

При таком написании ошибка ,видимо xlsheet здесь не в кассу?
Попробуй просто Cells() вместо xlCells. А вообще открываешь ексель, меню Сервис-Макрос-Редактор Visual Basic. Там жмешь F2 и потом на любом объекте или свойстве F1.
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
18.03.2009, 12:37 11
Что за xlCells? Должно быть просто Cells.
0
0 / 0 / 0
Регистрация: 21.01.2008
Сообщений: 240
18.03.2009, 12:46 12
Цитата Сообщение от Medevic
Что за xlCells? Должно быть просто Cells.

Спасибо,вроде работает. Да это я импортом перепутала.
0
0 / 0 / 0
Регистрация: 21.01.2008
Сообщений: 240
18.03.2009, 15:39 13
Возникла еще одна проблема.
В форме у меня есть ричтекст поле,из которого я беру файл Ecxel далее я его копирую в Temp,затем экспортирую данные в него.
После чего мне следует заменить файл пероначальный,на тот что лежит теперь в Temp.
Для этого я использую Set object = rtitem.EmbedObject ( EMBED_ATTACHMENT, "", "c:\TEMP\" & Cstr(fileCount)).

Вобщем проблема в том что файл копируется с неизвестным форматом и не в поле,а в конец документа. В чем ошибка,подскажите пожалуйста!
И вобще какого формата формируется файл(временный)в Temp?
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
19.03.2009, 14:38 14
метод имеет свои ограничения..., но возможно Вам подойдет (так желательно чистить от аттачей и цеплять их поновой):

Код
Function RemoveAttachments(objdoc As NotesDocument, fld As String) As NotesRichTextItem
Dim rtItem As NotesRichTextItem
Dim docItem As NotesItem

On Error Goto errorhandler
Set docItem=objdoc.GetFirstItem(fld)
DbgMsg("RichText:" & Cstr(docItem.Type = RICHTEXT))
If docItem.Type=RICHTEXT Then
Set rtItem=docItem
Else
Set rtItem=Nothyng
End If
If objdoc.Hasembedded Then
If ( Not rtItem Is Nothyng ) Then
If (Not Isempty(rtitem.EmbeddedObjects))Then
Forall o In rtitem.EmbeddedObjects
Call o.Remove
DbgMsg("RT field: remove attachments")
End Forall
End If
Else
If ( Not Isempty(objdoc.EmbeddedObjects)) Then
Forall o In objdoc.EmbeddedObjects
Call o.Remove
DbgMsg("remove attachments")
End Forall
End If
End If
End If

Do While Not objdoc.GetFirstItem("$FILE") Is Nothyng
objdoc.RemoveItem("$FILE")
DbgMsg("remove fields: $FILE")
Loop

If (rtItem Is Nothyng) Then
Do While Not objdoc.GetFirstItem(fld) Is Nothyng
objdoc.RemoveItem(fld)
DbgMsg("Remove non RT fields:" & fld)
Loop
Set rtItem=objdoc.CreateRichTextItem(fld)
End If
Set RemoveAttachments=rtItem
ExitFunction:
Exit Function
errorhandler:
Call RaiseError()
Resume ExitFunction
End Function
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
19.03.2009, 16:53 15
Цитата Сообщение от kilcher
Возникла еще одна проблема.
В форме у меня есть ричтекст поле,из которого я беру файл Ecxel далее я его копирую в Temp,затем экспортирую данные в него.
После чего мне следует заменить файл пероначальный,на тот что лежит теперь в Temp.
Для этого я использую Set object = rtitem.EmbedObject ( EMBED_ATTACHMENT, "", "c:\TEMP\" & Cstr(fileCount)).

Вобщем проблема в том что файл копируется с неизвестным форматом и не в поле,а в конец документа. В чем ошибка,подскажите пожалуйста!
И вобще какого формата формируется файл(временный)в Temp?
кста эта трабла могет быть еще и из-за "нерпавильной" работы с переоткрытием и сохранением фронтэнда (индусы набокорезили)
но ежели выполнить "пральную" последовательность - усё будет нормально
где-то так:

Код
    Dim rtItem As NotesRichTextItem
Set rtItem=RemoveAttachments(objdoc, fld)

fname=path & file
Call rtitem.EmbedObject( EMBED_ATTACHMENT, "", fname)

*********************************************************
Call objdoc.Save(True,False)
Kill fname
Call uidoc.Close(True)
Set uidoc=wks.EditDocument(True,objdoc)
uidoc.AutoReload=True
Call uidoc.Refresh()
Call uidoc.Save
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2009, 16:53
Помогаю со студенческими работами здесь

Импорт Excel файла в Python
Добрый вечер Уважаемые знатоки.Просьба подсказать вот что: Имею файл с расширением xlsx. Загружаю...

Импорт excel файла в access
Поля в таблице access: 1. тема - МЕМО 2. Имя - текстовый 3. Менеджеры - текстовый Поля в...

Импорт excel файла в С++ Builder!!!!!!!!!!
Обращаюсь с просьбой объяснить мне, лучше на примере, как правильно импортировать excel-файл со...

Импорт таблицы из текстового файла в Excel
Всем здрасти, не подскажите как табличку(данные) из текстого файла (.txt) перекинуть в exsel с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru