Чем заменить excel application

Модератор: Модераторы разделов

pollitra

Сообщения: 94
ОС: Ubuntu 8.04 AMD64

На что заменить exel.application

Есть внешняя обработка, импортирующая накладные в 1с из эксел файлов. Применяется ВходExcel = СоздатьОбъект(«Excel.Application»); Возможно ли избавиться от эксела и перейти на опенофис? Как?

Аватара пользователя

warlomak

Сообщения: 384
ОС: Ubuntu 10.04
Контактная информация:

Аватара пользователя

TheTaker

Сообщения: 68
ОС: openSUSE 11.1

Re: На что заменить exel.application

Сообщение

TheTaker » 29.05.2008 02:05

warlomak писал(а): ↑

28.05.2008 10:41

BAV писал(а): ↑

28.05.2008 08:59

Я затаскиваю прайсы через DBF

он же написал «импортирующая накладные в 1с из эксел файлов» зачем гемор с DBF ?

Если нелениво переписать обработку на использование ОПЕН-ОФФИС, перепиши. ИМХО, лучший путь, чем подпорки типа УниОффис — они для тех мест, где код недоступен.

In a free world without restrictions, walls and fences, we do not need Windows® and Gates™
———————————————
openSUSE 11.1. 2.6.27. 1C 8.1. Lucky Strike.

Mitridat

Сообщения: 18

Re: На что заменить exel.application

Сообщение

Mitridat » 19.06.2008 11:53

А кто-нибудь знает, как переписывать под ООо?

Я сегодня поставил виндовый ООо под wine, переписал вот так обработку:
http://www.kb.mista.ru/article.php?id=180

Запустил её в 1С и получил ошибку: Неудачная попытка создания объекта (MSScriptControl.ScriptControl)

Видимо эта часть винды не реализована в wine.
Вот ссылка на загрузку:http://www.microsoft.com/downloads/details.aspx?familyid=d7e31492-2595-49e6-8c02-426fec693ac&displaylang=en#Overview

Но загрузить можно только пройдя тест на легальность операционки. Наверно можно ещё откуда-нибудь загрузить без всяких тестов, но искать не стал, потому как компонент наверняка является частью винды и его установка и использование в wine будет незаконным без покупки лицензии на винду.

Djam

Сообщения: 533
ОС: Mandriva 2009.0

Re: На что заменить exel.application

Сообщение

Djam » 25.06.2008 16:58

что-то битая ссылка…

Mandriva 2009 Spring Free, kernel-2.6.29.6-2, wine@etersoft 1.0.10 Network, 1C all, ASUS P5PE-VM i865G, 1024 Mb, iPentium 3.06 GHz(s775)
истина где-то рядом, но мы ни как не встретимся

Аватара пользователя

Denjs

Сообщения: 1685
ОС: SuSe 10.2

Re: На что заменить exel.application

Сообщение

Denjs » 25.06.2008 17:02

курить интернет .
там есть «косячек» с осзданиеи COM-объекта (он создается но изначально не такой как надо 1С-ке)
вообще тема разобрана на ряде форумов.
описания COM-объектов ОО можно найти на офф-сайте только не знаю где… думаю не слишком глубоко зарыты — когда мне надо было — набрел.

QDroid — Среда исполнения и фреймворк для QtScript.
OTPD — Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).

Mitridat

Сообщения: 18

Re: На что заменить exel.application

Сообщение

Mitridat » 03.07.2008 12:46

Serg11, интересный вариант, надо попробовать. Но, честно говоря, хочется обойтись без библиотек сомнительной лицензионности.

по совету Denjs я так ничего и не нашёл в интернет :-(

Сам больше всего склоняюсь к варианту сохранения предварительно обработанного листа (макросом или руками) в dbf файл.
OOo.Calc это позволяет.
А в 1С его уже напрямую затаскивать, без всяких там OLE,COM,UNO и прочих ADO/DAO.

 

kohet

Пользователь

Сообщений: 27
Регистрация: 13.10.2019

Итак, Microsoft уходит с российского рынка вместе с экселькой.
В связи с чем возникает 2 вопроса:
1. Чем его могут заменить
2. Что из них может быть автоматизировано на VBA
Просто получилось так, что много-много лет я безальтернативно просидел в Excel и на VBA, а так как работал в коммерческой структуре, то совершенно не в курсе того, чем предполагается это импортозамещать (это в основном была окологосударственная тема — госструктуры этим озадачивались, а  я работал мало того, что в коммерческих, но и импортных структурах, совершенно не касавшихся этих тем).
Подскажите, други, куда бежать? Что делать?

P.S. «Шеф, все пропало!» я уже кричал.  

 

БМВ

Модератор

Сообщений: 21386
Регистрация: 28.12.2016

Excel 2013, 2016

100% нет, да и не может быть. Есть более близкие аналоги. Например Libre Calc,  и даже VBAподдерживает, но все ж это не Excel, и как по функционалу, так и по быстродействию.

По вопросам из тем форума, личку не читаю.

 

Jack Famous

Пользователь

Сообщений: 10854
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Российские офисные пакеты МойОфис

— это просто вариант, но никак не замена
Это как заменить ламборгини на копейку  :D

Изменено: Jack Famous15.03.2022 09:12:31

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Olga H.

Пользователь

Сообщений: 383
Регистрация: 18.12.2013

Изменено: Olga H.15.03.2022 09:31:02

 

Jack Famous

Пользователь

Сообщений: 10854
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#5

15.03.2022 09:32:58

Цитата
Olga H.: Google Sheets

хорошее имортозамещение импортом  :D

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

Jack Famous, в МойОфис нет VBA. Да что там VBA, там простой точечный график не поддерживается (по крайней мере в домашней версии).

 

Jack Famous

Пользователь

Сообщений: 10854
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#7

15.03.2022 13:39:28

Цитата
tutochkin: в МойОфис нет VBA

а я где-то писал, что есть?

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Olga H.

Пользователь

Сообщений: 383
Регистрация: 18.12.2013

kohet

,

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

https://r7-office.ru/redaktor-dokumentov

https://www.onlyoffice.com/

 

БМВ

Модератор

Сообщений: 21386
Регистрация: 28.12.2016

Excel 2013, 2016

#9

15.03.2022 22:41:51

Цитата
tutochkin написал:
в МойОфис нет VBA

там LUA

r7  — java

В отличии от них Libre переварит простенькие VBA коды. Есть разница и обеспечить совместимость сложно но можно.  Вот пример вызова диалога выбора файла

Скрытый текст

И в целом, возможность замены зависит от глубины интеграции продукта с другими системами и объема использования вичь которые доступны в MS Office. Для многих и Libre более чем.

По вопросам из тем форума, личку не читаю.

 

ПРОИЗВЕД

Пользователь

Сообщений: 140
Регистрация: 10.02.2020

Российский рынок слишком мал чтобы создать что-то стоящее…

Изменено: ПРОИЗВЕД17.03.2022 10:57:16

 

pharmaprofi

Пользователь

Сообщений: 234
Регистрация: 19.11.2014

pharmaprofi

На самом деле кроме проблемы замены, еще и база знаний должна быть. Желательно доступная

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#12

17.03.2022 14:37:18

Цитата
Jack Famous написал:
а я где-то писал, что есть?

так в теме прописано же… Не?

 

Jack Famous

Пользователь

Сообщений: 10854
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#13

17.03.2022 18:22:28

Цитата
tutochkin: так в теме прописано же… Не?
Цитата
kohet: А какие есть альтернативы Excel’ю в плане политики импортозамещения? И что из них поддерживает VBA?

2 вопроса)

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

sokol92

Пользователь

Сообщений: 4446
Регистрация: 10.09.2017

LibreOffice

(LO) серьезный продукт, требующий (как и Microsoft Office) основательного изучения. В отличие от MS Excel LO поддерживает несколько языков программирования, в  том числе Basic (имеющий практически одинаковый синтаксис с VBA) и Python. Объектная модель в LO Calc иная, чем в Excel (что видно в примере Михаила). LO является мультиплатформенным и входит в состав многих дистрибутивов.

Изменено: sokol9217.03.2022 20:13:01

 

БМВ

Модератор

Сообщений: 21386
Регистрация: 28.12.2016

Excel 2013, 2016

#15

17.03.2022 21:35:45

sokol92, Владимир,

Цитата
sokol92 написал:
Объектная модель в LO Calc иная

лучше сказать что она имеет отличия. Так как многое совпадает, но разница может подстерегать в самом непредсказуемом месте.
Вот один из сюрпризов. проектик конечно древний (2014) и в новой LO в отличии от MS выглядит не так как хотелось :-)

Скрытый текст

И , возможно плохо пытался, но не разу не удалось с нуля создать проект с VBA в нем, который бы работал в Excel. Все что делал делал в Excel и ретушировал под LO.

Как уже писал выше, работать можно и большинство даже не заметят отличий (кроме другого интерфейса), но быстродействие тоже сильно уступает.

Изменено: БМВ17.03.2022 22:57:08

По вопросам из тем форума, личку не читаю.

 

Смотрю, на LO тут сильно поднасели :)
И хоть вопрос был про аналоги — основной посыл, как я понял, это чем заменить таким, что не попадет внезапно под санкции, как это случилось с microsoft. LO не из России насколько знаю. Если ничего не путаю — то это некое объединение нескольких организаций(не уверен, что среди них вообще есть Российские, кстати. Зато есть Google). По сути ООН разработчиков :) Из этого можно сделать вывод — что даже несмотря на бесплатность LO, он тоже в какой-то момент может просто прекратить сотрудничество с российскими ПО и приехали.
Т.е. на данный момент 100% импортозамещения в данной сфере, которое может хоть как-то соревноваться с MS Office, мы не имеем.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

DrillPipe

Пользователь

Сообщений: 342
Регистрация: 23.04.2019

#17

11.04.2022 21:56:09

Цитата
написал:
МойОфис нет VBA.

https://habr.com/ru/company/ncloudtech/blog/660177/

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#18

11.04.2022 22:08:38

DrillPipe, да, видел, посмеялся.
Тут этот самый МойОфис не смог мне показать картинку в вордовском файле. Написал им в тп, в ответ:

Цитата
Добрый день.

В приложенном документе содержатся изображения в формате .emf, которые не отображаются в «МойОфис Документы».

Ваше обращение зафиксировано и передано в отдел развития продуктов. Мы стремимся учитывать пожелания наших пользователей, поэтому обязательно рассмотрим возможность поддержки изображений в формате emf.

Благодарим за обращение.

С уважением,
Команда МойОфис

 

stepanup

Пользователь

Сообщений: 1
Регистрация: 20.03.2015

#19

14.04.2022 12:43:30

Цитата
написал:
Итак, Microsoft уходит с российского рынка вместе с экселькой. В связи с чем возникает 2 вопроса: 1. Чем его могут заменить2. Что из них может быть автоматизировано на VBA

ИМХО, на данный момент — ничем. Сам в VBA глубоко не погружался, для большинства задач хватало PowerQuery. Теперь тестирую

Loginom

, как замену PQ — очень симпатичная разработка из «соломенной Рязани», есть удачные фишки, но для полноценной обработки данных похоже придется использовать блоки с python’овским кодом. Посмотрите, может часть ваших задач и закроет.  

 

Михаил Л

Пользователь

Сообщений: 2642
Регистрация: 19.02.2020

#20

16.04.2022 10:59:49

Цитата
kohet написал:
Итак, Microsoft уходит с российского рынка вместе с экселькой

Как это будет происходить?
Проснусь утром, включу ноут, а там Excel обновлением будет затерта? Причем, Excel затерта, а Windows незатерта)

Возможно, из-за ухода не будет обновлений продуктов. Что это значит? Что состояние Excel будет теперь неизменно. Меня это устраивает.
Пока не вижу где я должен переживать)

НА МЯСО В ПРОФИЛЕ

 

БМВ

Модератор

Сообщений: 21386
Регистрация: 28.12.2016

Excel 2013, 2016

#21

16.04.2022 13:26:47

Цитата
Михаил Л написал:
Пока не вижу где я должен переживать)

Рисую картину переживаний
1. Новые продукты только по подписке и не будут продаваться для России. Уже сейчас некоторые не могут оплатить подписку так как платеж не принимается с карт банков… нужны альтернативы и масса людей предпочтет что-то бесплатное аля Libre, тому чтоб искать пути оплаты….
2. Не знаю как остальные, но online документацией, я пользуюсь, если будет заблокирована, то будет плохо. А примеры блокировок, которые компании уже сделали, налицо. При этом есть те что обходятся через VPN, а есть которые просто идут в разрез моему пониманию о выполнении контрактов. Например
Lenovo — c Российских IP не дает скачать ни драйвера ни ….
Dell —   c Российских IP просто не пускает на сайт
HP — меня конечно интерсует бизнес сектор , там удалены все аккаунты Российских компаний. Скачивать драйвера, прошивки …. невозможно без этого, хотя ряд критичных пока доступен.
Cisco —  Есть сервисы которые авторизуются у них для получения лицензий, также заблокированы, несмотря на то что оплачены.

2. Несмотря на все преимущества новых версий  можно оставаться на прежних, но для частного сектора это не проблема, а вот компаниям, которым могут сказать переходить на импортозамещенное ПО , а также где не могут оставаться без обновлений из соображения безопасности ….. грядет переход.
3. В свою очередь это сужает круг пользователей этой программы, и навязанную или … но популяризацию других продуктов.
4. В какой то момент предложить что-то в excel будет не просто или совсем некому, просто тех механизмов, которые есть в нем нет у других продуктов,  или они там иные.

Я вот с интересом жду когда Google заблокирует Sheets . Сколько радостно переметнувшихся туда останутся с тыквой вместо кареты? И обратите внимание это бесплатный сервис, и если уж бизнес партнеры ведут себя так, я о невыполнении обязательств, то когда обязательств нет то совесть совсем беспокоить не станет.

По вопросам из тем форума, личку не читаю.

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

Бесплатный сыр.. Если руководитель компании здравомыслящий, он не будет работать с сервисами, предлагающими средства обработки его информации в облаках по причине безопасности (т.е. работы с данными) его бизнеса. Сегодняшняя ситуация похожа на сговор конкретных персоналий, в чьих руках случайно оказалось управление данными. Производители новых версий ПО предлагают много хорошего (удобного), облегчающего работу, но не более того, что можно было делать и в Excel 2003 (только что скорость обработки возрастает, и то не всегда, но это железо в основном работает, а не ПО). Похоже, просто кто-то кого-то кинул или кто-то захотел забрать лишнего, вот и начались разборки :)
По теме — ищите и пробуйте, других способов нет, как и гарантий :)

 

БМВ

Модератор

Сообщений: 21386
Регистрация: 28.12.2016

Excel 2013, 2016

#23

16.04.2022 20:47:52

Цитата
_Igor_61 написал:
Если руководитель компании здравомыслящий, он не будет работать с сервисами, предлагающими средства обработки его информации в облаках по причине безопасности (т.е. работы с данными) его бизнеса.

это и так и нет . Работа в облаке ничем не отличается от найма копании партнера для работы. Все те же NDA (договор о неразглашении) .  Есть конечно которые не смотря на это стараются не пускать к боевым данным никого и возможно это и правильно, глядя на то как исполняются договора.
Что касаемо самой идеи подсадить на «иглу» , и это не совсем все так. Естественно прежде всего есть желание заработать, но и решения предлагаемые порой превосходят то, что может позволить себе компания, установив сервис у себя. Прежде всего по причинам того что нужна более узкая специализация, а на поверку сейчас решения настолько сложные что погружаясь в одно , ты забываешь другое…..   А вот то что облако проще контролировать в том числе и с точки зрения оплаты за пользование — это факт. При этом не обязательно отключать, а можно снизить ресурсы, скорость доступа , ограничить функционал.
Повторю, что все это в условиях цивилизованного подхода, а не в тех условиях которые сейчас с выходом из бизнеса , блокировками и нарушениями контрактов. Собственно сама идея импортозамещения и нацелена на большую автономность и независимость от такого. Я б с радостью б пользовал доступные и реально качественные продукты, они есть, но они развивались не за год , два и не просто некоторая  компиляция опенсорс продуктов. Примеров полно, только вот даже среди них есть проблемные. Не надо ходить далеко ABBYY FineReader.  Все, ряд продуктов передан в штаты и они более не в реестре Российского ПО.

По вопросам из тем форума, личку не читаю.

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

#24

19.04.2022 16:38:48

Цитата
БМВ написал:
в условиях цивилизованного подхода

:idea:  :) Вся история человечества — это сплошные войны, как мировые так и локальные… Цивилизация, блин…  :cry:

 

pharmaprofi

Пользователь

Сообщений: 234
Регистрация: 19.11.2014

pharmaprofi

#25

19.04.2022 17:15:30

Цитата
Михаил Л написал:
Уже сейчас некоторые не могут оплатить подписку так как платеж не принимается с карт банков…

Удалось пока обойти для MS 365. Купил ключ на Yandex Market и продлил лицензию с помощью этого ключа. Но это не новая покупка, а продление существующей подписки.

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

#26

19.04.2022 17:35:36

Цитата
pharmaprofi написал:
Купил ключ на Yandex Market и продлил лицензию с помощью этого ключа. Но это не новая покупка, а продление существующей подписки

Ну вот, печалиться не о чем! Пользователи заплатят еще несколько раз за очередные обещания владельцев бизнеса :) И про лицензионные соглашения как-то все забылось… :) Хотя… форс-мажор… :)

Изменено: _Igor_6119.04.2022 17:37:59

 

egonomist

Пользователь

Сообщений: 409
Регистрация: 21.12.2012

Малую автоматизацию можно вести в open source инструментах, используя файлы xlsx.
на прошлой неделе обновилась python библиотека

Mito

,
теперь её можно запустить из Jupiter notebook (ранее работала только в Jupiter lab) — позволяет работать с большими данными + графики + сразу генерирует код (аки запись макроса). Полученный код можно вставить в KNIME,  в python snippet нод и сохранить в excel. Далее в knime используя ноды continental настроить условное форматирование в файле. Если нужно вставить проверку данных(выпадающие списки) , то можно воспользоваться пакетом openxlsx в R (код в knime в R snippet нод). В R есть также пакеты для формирования  word файлов и презентаций PowerPoint (officer и R2PPT) . Взаимодействие с COM объектами excel возможно в R с помощью пакета excel.link, в python библиотека win32.client.
Для тех у кого Linux есть ещё прикольная утилита visidata — мощный табличный редактор в терминале, также с возможностью записи Пайтон кода.

бонус — с помощью пакета excel.link можно в excel запускать R код, а используя пакет reticulate выполнять python  код. Таким образом можно формировать код формулами экселя и выполнять его. Ещё один вариант использования — работа с большими данными — используя duckDB можно хранить данные локально в паркет файлах, а в excel получать нужные срезы (в R и python есть клиент для duckDB). В этом месяце у duckDB появился нормальный odbc  драйвер. Эксель в таком случае просто как пользовательский интерфейс к базе получается.

проверка качества данных: в R пакет validate, в python библиотека great expectations — покрывает всё потребности.

Оркестратор — dagster. Не требует docker,  работает в windows.

интерактивные приложения делать с помощью пакета shiny в R или в питоне streamlit, если есть docker, то appsmith лучший low-code инструмент для веб приложений.
BI  для self-service лучше делать в metabase, в него недавно завезли модели данных как в клик или power bi.

Иногда это велосипед, но иногда очень может выручить.

Изменено: egonomist30.04.2022 09:08:22

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

#28

05.05.2022 17:49:55

egonomist,  немного от темы отошли :) Чтобы использовать все Вами перечисленное, всем сотрудникам организации срочно придется изучать как минимум несколько языков программирования и кучу библиотек, приложений, и способов их взаимодействий. MO тем и хорош, что не требует от офисного работника расширенных знаний по программированию и пр., а позволяет качественно выполнять свои непосредственные задачи.  Но есть вариант: смена кадровой политики организации. Взять на работу два-три программиста, которые в совершенстве владеют всеми языками и навыками: бухгалтерскими, организационными, юридическими, технологиями производства и пр. (при условии существования таковых в природе) взамен многих специалистов, которые эту работу делали и делали довольно неплохо :)  Экономия по зарплате получится :) А результат… «Так это ж пойми, потом…» :(

Цитата
_Igor_61 написал:
Похоже, просто кто-то кого-то кинул или кто-то захотел забрать лишнего, вот и начались разборки

Изменено: _Igor_6105.05.2022 17:51:58

 

tutochkin

Пользователь

Сообщений: 559
Регистрация: 13.02.2019

#29

06.05.2022 21:17:43

Цитата
Взять на работу два-три программиста, которые в совершенстве владеют всеми языками и навыками: бухгалтерскими, организационными, юридическими, технологиями производства и пр.

Спасибо, посмеялся…

 

_Igor_61

Пользователь

Сообщений: 3007
Регистрация: 18.07.2016

#30

07.05.2022 17:01:29

Цитата
tutochkin написал:
Спасибо, посмеялся…

смех сквозь слезы…  Конечно, работодатели разные бывают, в том числе и здравомыслящие, но частенько многие из них хотят «все в одном»… Увы, но такое присутствует в нашей не виртуальной реальности…

Студворк — интернет-сервис помощи студентам

Привет всем. Задача состоит в том чтобы экспортировать данные в Excel да еще чтоб чарты там были. Я сначало сделал это все через Excel.Application, а потом обрадовался что на серваке такого объекта нету. Можно конечно установить на нем офис, но не очень то хочеться ради этого объекта захломлять сервак, да и говорят безопасность страдает от офиса. Знает ли кто, как можно отдельно его зарегить и потом спокойно пользовать. В реестре написано что он ссылаеться на excel.exe, но я не уверен что одного exe нему достаточно. В инете не нашел ни отдельного дистрибутива, как библиотеки так и описания как такое сотворить.
Помогите советом плиз.
Зарание блогадарю.

Перем Об_Конект;

Перем Об_РекордСет;

Функция ПодключитьсяКБазе()

   Состояние(«Подключание к базе «+ПутьИФайл);

   Файл=Новый Файл(ПутьИФайл);

   Если Файл.Существует() Тогда

       Стр_Файл=Файл.ПолноеИмя;

       // Отрезаем слеш если он есть в конце пути

       Стр_Путь=Файл.Путь;

       Если Прав(Стр_Путь,1)=»» Тогда

           Стр_Путь=Лев(Стр_Путь,СтрДлина(Стр_Путь)-1);

       КонецЕсли;

       
       // Строка коннекта

       Стр_Конект = «Driver={Microsoft Excel Driver (*.xls)};

       |DriverId=790;

       |Dbq=»+Стр_Файл+»;

       |DefaultDir=»+Стр_Путь+»;»;

       
       Об_Конект = Новый COMОбъект(«ADODB.Connection»);

       
       Попытка

           Об_Конект.Open(Стр_Конект);  

           Состояние(«»);

           Возврат Истина;

       Исключение

           Сообщить («Не возможно подключится к Microsoft Excel Driver!!!

           |Возможно файл [«+Стр_Файл+»] открыт другим пользователем.»);

           Состояние(«»);

           Возврат Ложь;

       КонецПопытки;

   Иначе

       
       Сообщить(«Файл «+ПутьИФайл+» не найден!»);

       Состояние(«»);

       Возврат Ложь;

   КонецЕсли; //Файл.Существует()    

   
КонецФункции

   Если Об_Конект = Неопределено Тогда

       Если Не ПодключитьсяКБазе() Тогда

           Возврат;

       КонецЕсли;

   КонецЕсли;

   Стр_SQL = «SELECT DISTINCT [Подразделение возникновения] FROM [«+СокрЛП(ИмяЛиста)+»$]»;

   
   Об_РекордСет = Новый COMОбъект(«ADODB.Recordset»);

   Попытка

       Об_РекордСет=Об_Конект.Execute(Стр_SQL);

   Исключение

       Сообщить(«Не удадлось выполнить запрос к файлу Excel

       |»+ ОписаниеОшибки(),СтатусСообщения.Важное);

       Возврат;

   КонецПопытки;

   
   
   Пока НЕ Об_РекордСет.EOF Цикл

       ОбработкаПрерыванияПользователя();

       НаименованиеФилиала = Об_РекордСет.Fields(«Подразделение возникновения»).value;

       
       Об_РекордСет.MoveNext();

   КонецЦикла;

Ну вот как-то так я для себя это открывал с помощью googl и не так долго…

Если используете Microsoft.Office.Interop.Excel то что бы не было тормозов при заполнении передавайте данные сразу диапазоном. Вот один из моих методов, которыми пользуюсь.

void ToExcel(DataTable dt1)
        {
            try
            {
                Excel.Application EoXL;
                Excel._Workbook EoWB;
                Excel._Worksheet EoSheet;
                Excel.Range excelRange;
                EoXL = new Excel.Application();
                EoXL.Visible = false;
                EoWB = EoXL.Workbooks.Add(Type.Missing);

                int TabRows = 1;

                EoSheet = (Excel.Worksheet)EoWB.Worksheets.get_Item(1);//ссылка на лист excel
                EoSheet.Name = "Отчет о кодах возвратных накладных";
                EoSheet.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape;

                int row = dt1.Rows.Count;
                int col = dt1.Columns.Count;


                EoSheet.Cells[1, 1] = "Префиксы возвратных накладных и счетов фактур подразделений";
                EoSheet.Cells[1, 1].VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
                EoSheet.Cells[1, 1].Font.Bold = true;
                EoSheet.Cells[1, 1].Font.Size = 16;

              

                // передаем первую таблицу, заполняем ее в памяти и передаем целиком
                object[,] dataExport = new object[row, col];

                for (int i = 0; i < row; i++)
                {
                    for (int j = 0; j < col; j++)
                    {
                        dataExport[i, j] = dt1.Rows[i][j];
                    }

                }


                excelRange = EoSheet.Range[EoSheet.Cells[2 + TabRows, 1], EoSheet.Cells[row + 1 + TabRows, col]];
                excelRange.set_Value(Excel.XlRangeValueDataType.xlRangeValueDefault, dataExport);
                excelRange.Borders.ColorIndex = 0;

//этот кусок в качестве примера указания типа данных в ячейках
                // excelRange = EoSheet.Range[EoSheet.Cells[2 + TabRows, 8], EoSheet.Cells[row + 1 + TabRows, 10]];
                // excelRange.NumberFormat = "#,##0.00";

                // формируем заголовок
                ArrayList displayColumnExsel = new ArrayList();


                foreach (DataColumn c in dt1.Columns)
                {

                    displayColumnExsel.Add(c.ColumnName);
                }

                object[] dataExportH = new object[col];
                for (int i = 0; i < col; i++)
                    dataExportH[i] = displayColumnExsel[i];

                excelRange = EoSheet.Range[EoSheet.Cells[1 + TabRows, 1], EoSheet.Cells[1 + TabRows, col]];
                excelRange.set_Value(Excel.XlRangeValueDataType.xlRangeValueDefault, dataExportH);
                excelRange.Font.Bold = true;
                excelRange.WrapText = true;
                excelRange.Borders.ColorIndex = 0;
                excelRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
                excelRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
                      

               EoXL.Visible = true;
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message, "Ошибка метода переноса таблиц", MessageBoxButton.OK, MessageBoxImage.Error);
            }


        }

Понравилась статья? Поделить с друзьями:
  • Чем заменить excel 2013
  • Чем конвертировать pdf в word с распознаванием
  • Чем закодировать ячейки excel
  • Чем конвертировать pdf в word программа
  • Чем заканчивается ввод формул в excel