Dll для excel application

Как заставить работать «Excel.Application» без установленного на машину офиса

Я
   Iceman_2008

10.09.08 — 17:26

Уважаемые 1С ники. У меня такая проблема! Написал обработку для загрузки заявок из экселевских файлов. Но возникла одна проблемка. Я писал ее на локальной машине где установлен офис, а работать она должна на сервере, где офиса не установлено. Поэтому при попыткке создания Excel.Application выдается ошибка. Что делать? Нужно ли ставить офис на сервер или можно обойтись как то без этого?

   miki

1 — 10.09.08 — 17:27

может ещё и 1С научат пускать без 1С…

   Pasha

2 — 10.09.08 — 17:27

(0) Как доехать на велосипеде до урюпинска без велосипеда?

   ДенисЧ

3 — 10.09.08 — 17:28

А как запустить 1с без компьютера?

   andrewalexk

4 — 10.09.08 — 17:34

:)

а кстати зря ветку в юмор —

есть длл как раз для таких целей..

правда пока она медленнее экселя..

   miki

5 — 10.09.08 — 17:35

(4)давай ссылку верну в зад

   TM

6 — 10.09.08 — 17:38

Сцылку! Фиг бы с ней, что медленнее! А хочу обладать ентой дллелей!

   Табуретка

7 — 10.09.08 — 17:46

не просчель сам ексель сохранять как ДБФ(оно такое позволяет), и грузить без всяких проблем, оно и быстрее будет!

   Iceman_2008

8 — 10.09.08 — 17:47

Я подразумевал под своим вопросом возможность использования каких-либо DLL без полной установки офиса, если нет возможности на сервер поставить офис. Ржать конечно можно над моим вопросом, но вместо того чтобы ржать посоветовали бы как быть!

   romix

Модератор

9 — 10.09.08 — 17:47

http://softsearch.ru/programs/209-649-chtenie-faila-excel-naprjamuju-iz-1s-download.shtml
Чтение файла Excel напрямую из 1С (v1.0.0.3)

Компонента читает напрямую файл Excel без загрузки самого Excel

   andrewalexk

10 — 10.09.08 — 17:48

   romix

Модератор

11 — 10.09.08 — 17:48

(+9) Автор vasil@dushelov.ru

   miki

12 — 10.09.08 — 17:49

(9)»Без загрузки» или вообще без екселя?

   Drx211

13 — 10.09.08 — 17:50

про ADO слышал? Зачем тебе на сервере Excel.Application?

   Garlic

14 — 10.09.08 — 17:51

   trdm

15 — 10.09.08 — 17:55

   zzzzz

16 — 10.09.08 — 17:58

(0) Как-то находил на мелкософтовском сайте длл-ки для этих целей.

   Злопчинский

17 — 11.09.08 — 00:19

Пробовал и Душелововскую разработку и Адо и Эксель родной и Йоксель.

На данный момент остановился на Йокселе — только потому что она более продвинутая и «живая». АДО — косячит без выдачи ошибок (возможно я не смог правильно подключиться) и в чем причина — хз.. я не специалист… (кто скажет что у мну кривые руки — готов дать эксельный файлик для затяжки через адо — проблема в том, что тупо не грузит всю инфу… а обрубается на половине файла…)

   igork1966

18 — 11.09.08 — 00:30

(17) Не знаю в чем у тебя проблема, но у меня Excel валился при попытке поместить в поле значение слишком большой длинны… и еще не очень помню, неподходящего типа значение в ячейку заносил тож падал сходу (обстоятельства сейчас все и не вспомню)
Так что Йоксель тож очень просто заваливается. ;-)

   Злопчинский

19 — 11.09.08 — 00:40

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

   Ужас бухгалтера

20 — 11.09.08 — 00:54

(18) «Йоксель» не равно «Excel». Йоксель находится здесь: http://yoksel.net.ru/HomePage

Не думаю, что Йоксель можно завалить очень просто.

   Злопчинский

21 — 11.09.08 — 01:02

(20) Дикари-с.. что с них возьмешь…

;-)

   igork1966

22 — 11.09.08 — 01:04

(20) Ой… не знал про такое чудо…. ;-)

   Ужас бухгалтера

23 — 11.09.08 — 01:09

(21,22) :)

   Яндекс

24 — 11.09.08 — 05:51

(17)говорю, что у тебя руки кривые

  

Ужас бухгалтера

25 — 11.09.08 — 09:48

(24) Ну ты типа эта… Мыл оставь, куда он тебе пришлет тестовый файл. А то, судя по всему, у вас сильно разные часовые пояса. Часов через 10 он проснется и спросит мыл, куда слать файл. Потом через 10 часов ты проснешься и скажешь мыл. Потом он через 10 часов проснется и пришлет файл. И сколько вы так будете хней маятся? ;)

dcom exel 1cДобрый день! Уважаемые читатели и гости, популярного IT блога pyatilistnik.org. Сегодня я продолжу пополнять свою копилку знаний в разделе 1С. Вчера меня один из разработчиков, попросил ему помочь настроить компоненты DCOM для Excel.Application в связке с приложением 1С. Я ранее этого не делал, так что пришлось в этом разбираться. По итогам найденного решения, появилась и эта заметка. Уверен, что на этот материал найдутся желающие.

Что такое DCOM

Distributed Component Object Model (DCOM) — программная архитектура, разработанная компанией Microsoft для распределения приложений между несколькими компьютерами в сети. Программный компонент на одной из машин может использовать DCOM для передачи сообщения (его называют удаленным вызовом процедуры) к компоненту на другой машине. DCOM автоматически устанавливает соединение, передает сообщение и возвращает ответ удаленного компонента. С данным компонентов мы уже знакомились, когда решали ошибку 10016.

Настройка DCOM для Excel.Application

И так у меня есть виртуальная машина под управлением Windows Server 2012 R2, на ней установлены серверные компоненты 1С, есть задача для Excel.Application модуля, настроить DCOM компоненты.

Для выполнения нижеописанных действий, вам будут необходимы права локального администратора, на том сервере, где все будет выполняться

Нам необходимо открыть в панели управления Windows, компонент «Службы компонентов».

Открываем службы компонентов

Полный путь «Панель управленияВсе элементы панели управленияАдминистрированиеСлужбы компонентов»

Либо можете, через окно выполнить ввести DCOMCNFG, откроется, тоже самое.

Запуск DCOMCNFG

В службах компонентов (Component Services) откройте ветку:

Компоненты — Мой компьютер — Настройка DCOM — Microsoft Excel Application (Component Services — Computers — My computer — DCOM Config)

Настройка Microsoft Excel Application

Если по каким-то причинам у вас нет пункта Microsoft Excel Application, откройте реестр Windows, найдите ветку: HKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем ее. В ней должен быть ключ REG_SZ со значением {00020812-0000-0000-C000-000000000046}.

НАстройка DCOM для Excel.Application

КОМУ ЛЕНЬ самому создавать, то можете скачать данный ключ реестра у меня. Просто запустите потом и подтвердите, что согласны добавить. Затем откройте командную строку от имени администратора и выполните команду:

У вас откроется mmc оснастка «Службы компонентов», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты. В результате этих манипуляций компонент Microsoft Excel Application у вас должен появиться. Открываем свойства Microsoft Excel Application.

Настройка DCOM для Excel.Application-02

Переходим на вкладку «Безопасность (Secutity)». В пункте «Разрешения на запуск и активацию (Launch and Activation Permissions)», выберите «Настроить (Customize )» и изменить. Вам нужно добавить сюда учетную запись, от имени которой запускается служба 1С и предоставить ей права:

  • Локальный запуск — Local Launch
  • Локальная активация — Local Activation

Настройка DCOM для Excel.Application-03

Далее переходим к пункту «Разрешения на доступ (Access Permissions)» и так же меняем их. Добавьте там ту же учетную запись, от имени которой запускается сервис 1С, и дайте ей права «Локальный доступ (Local Access)». Сохраните настройки.

Настройка DCOM для Excel.Application-04

Закрываем окно служб компонентов, теперь для того, чтобы закончит ьнастройку DCOM для 1С и Microsoft Excel Application, вам необходимо дать права на две папки.

Вам нужно убедиться, что у вас есть две папки:

C:WindowsSysWOW64configsystemprofileDesktop
и
C:WindowsSystem32configsystemprofileDesktop

Настройка DCOM для Excel.Application-05

Если их нет, то создайте их. Далее даем полные права на эту папку, для все той же учетной записи, сервиса 1С. Надеюсь, что было не сложно, и вы разобрались в конфигурировании DCOM для компонента Excel.Application в связке с 1С. С вами был Семин Иван, автор и основатель IT портала Pyatilistnik.org,

Все привет, в этой статье опишу исчерпывающие примеры работы с excel на языке C#.

Для начала работы нам необходимо подключить библиотеку COM как на рисунке ниже:

Для этого добавляем ссылку в проект, надеюсь вы знаете как это делается) Выбираем пункт COM ищем библиотеку Microsoft Excel 16.0 Object Library ставим галочку и жмем Ок.

Далее нам не обходимо для сокращения записи и удобства создать алиас.

using Excel = Microsoft.Office.Interop.Excel;

Теперь нам нужно объявить объект Excel задать параметры и приступать к работе.

//Объявляем приложение

            Excel.Application app = new Excel.Application

            {

                //Отобразить Excel

                Visible = true,

                //Количество листов в рабочей книге

                SheetsInNewWorkbook = 2

            };

            //Добавить рабочую книгу

            Excel.Workbook workBook = app.Workbooks.Add(Type.Missing);

            //Отключить отображение окон с сообщениями

            app.DisplayAlerts = false;

            //Получаем первый лист документа (счет начинается с 1)

            Excel.Worksheet sheet = (Excel.Worksheet)app.Worksheets.get_Item(1);

            //Название листа (вкладки снизу)

            sheet.Name = «Имя должно быть не больше 32сим»;

Пример заполнения ячейки:

           //Пример заполнения ячеек №1

            for (int i = 1; i <= 9; i++)

            {

                for (int j = 1; j < 9; j++)

                    sheet.Cells[i, j] = String.Format(«nookery {0} {1}», i, j);

            }

            //Пример №2

            sheet.Range[«A1»].Value = «Пример №2»;

            //Пример №3

            sheet.get_Range(«A2»).Value2 = «Пример №3»;

Захват диапазона ячеек:

            //Захватываем диапазон ячеек Вариант №1

            Excel.Range r1 = sheet.Cells[1, 1];

            Excel.Range r2 = sheet.Cells[9, 9];

            Excel.Range range1 = sheet.get_Range(r1, r2);

            //Захватываем диапазон ячеек Вариант №2

            Excel.Range range2 = sheet.get_Range(«A1»,«H9» );

Оформление, шрифт, размер, цвет, толщина.

            //Шрифт для диапазона

              range.Cells.Font.Name = «Tahoma»;

              range2.Cells.Font.Name = «Times New Roman»;

            //Размер шрифта для диапазона

              range.Cells.Font.Size = 10;

            //Жирный текст

              range.Font.Bold = true;

            //Цвет текста

              range.Font.Color = ColorTranslator.ToOle(Color.Blue);

Объединение ячеек в одну

  //Объединение ячеек с F2 по K2

    Excel.Range range3 = sheet.get_Range(«F2», «K2»);

    range3.Merge(Type.Missing);

Изменяем размеры ячеек по ширине и высоте

//увеличиваем размер по ширине диапазон ячеек

   Excel.Range range2 = sheet.get_Range(«D1», «S1»);

   range2.EntireColumn.ColumnWidth = 10;

//увеличиваем размер по высоте диапазон ячеек

   Excel.Range rowHeight = sheet.get_Range(«A4», «S4»);

   rowHeight.EntireRow.RowHeight = 50;range.EntireColumn.AutoFit();range.EntireColumn.AutoFit(); //авторазмер

Создаем обводку диапазона ячеек

Excel.Range r1 = sheet.Cells[countRow, 2];

Excel.Range r2 = sheet.Cells[countRow, 19];

Excel.Range rangeColor = sheet.get_Range(r1, r2);

rangeColor.Borders.Color = ColorTranslator.ToOle(Color.Black);

Производим выравнивания содержимого диапазона ячеек.

  Excel.Range r = sheet.get_Range(«A1», «S40»);

  //Оформления

  r.Font.Name = «Calibri»;

  r.Cells.Font.Size = 10;

  r.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;

  r.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;

Примеры вычисления формул, все вставки формул были скопированы из самой Excel без изменений. Позиция ячейки взята из счетчика переменно и подставлен к букве ячейки

sheet.Cells[countRow, countColumn] = $«=G{countRow}-F{countRow}»;

sheet.Cells[countRow, countColumn].FormulaLocal = $«=ЕСЛИ((H{countRow}*O{countRow})+(I{countRow}*P{countRow})/100<=0;J{countRow}*O{countRow}/100;((H{countRow}*O{countRow})+(I{countRow}*P{countRow}))/100)»;

sheet.Cells[countRow, countColumn] = $«=K{countRow}+N{countRow}-R{countRow}»;

sheet.Cells[33, 22].FormulaLocal = «=СУММ(V3:V32)»;

Добавляем разрыв страницы.

//Ячейка, с которой будет разрыв

Excel.Range razr = sheet.Cells&#91;n, m] as Excel.Range;

//Добавить горизонтальный разрыв (sheet — текущий лист)

sheet.HPageBreaks.Add(razr);

//VPageBreaks — Добавить вертикальный разрыв

Как открыть фаил Excel

app.Workbooks.Open(@»C:UsersUserDocumentsExcel.xlsx»,

  Type.Missing, Type.Missing, Type.Missing, Type.Missing,

  Type.Missing, Type.Missing, Type.Missing, Type.Missing,

  Type.Missing, Type.Missing, Type.Missing, Type.Missing,

  Type.Missing, Type.Missing);

Сохраняем документ Excel

app.Application.ActiveWorkbook.SaveAs(«MyFile.xlsx», Type.Missing,

  Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange,

  Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

Завершение работы с объектом Excel.Application

app.Quit();

System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

Пример как выбрать фаил и загрузив его и узнать количество заполненных строк и колонок в одном конкретном листе по имени.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

//поиск файла Excel

            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Multiselect =false;

            ofd.DefaultExt = «*.xls;*.xlsx»;

            ofd.Filter = «Microsoft Excel (*.xls*)|*.xls*»;

            ofd.Title = «Выберите документ Excel»;

            if (ofd.ShowDialog() != DialogResult.OK)

            {

                MessageBox.Show(«Вы не выбрали файл для открытия», «Внимание», MessageBoxButtons.OK, MessageBoxIcon.Information);

                return;

            }

            string xlFileName = ofd.FileName; //имя нашего Excel файла

            //рабоата с Excel

            Excel.Range Rng;            

            Excel.Workbook xlWB;

            Excel.Worksheet xlSht;

            int iLastRow, iLastCol;

            Excel.Application xlApp = new Excel.Application(); //создаём приложение Excel

            xlWB = xlApp.Workbooks.Open(xlFileName); //открываем наш файл          

            xlSht = xlWB.Worksheets[«Лист1»]; //или так xlSht = xlWB.ActiveSheet //активный лист

            iLastRow = xlSht.Cells[xlSht.Rows.Count, «A»].End[Excel.XlDirection.xlUp].Row; //последняя заполненная строка в столбце А

            iLastCol = xlSht.Cells[1, xlSht.Columns.Count].End[Excel.XlDirection.xlToLeft].Column; //последний заполненный столбец в 1-й строке

Получаем список всех загруженных книг «листов» из файла

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

  //поиск файла Excel

            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Multiselect = false;

            ofd.DefaultExt = «*.xls;*.xlsx»;

            ofd.Filter = «Microsoft Excel (*.xls*)|*.xls*»;

            ofd.Title = «Выберите документ Excel»;

            if (ofd.ShowDialog() != DialogResult.OK)

            {

                MessageBox.Show(«Вы не выбрали файл для открытия», «Внимание», MessageBoxButtons.OK, MessageBoxIcon.Information);

                return;

            }

            string xlFileName = ofd.FileName; //имя нашего Excel файла

Excel.Workbook xlWB = ex.Workbooks.Open(xlFileName);

///загружаем список всех книг

            foreach (object item in xlWB.Sheets)

            {

                Excel.Worksheet sheet = (Excel.Worksheet)item;

            }

I had developed a system that deals with excel sheets in 2006 using MS VS 2005. Now, I can not use the same reference with MS VS 2012.

var app = new Microsoft.Office.Interop.Excel.Application();
Workbooks wbs = app.Workbooks;

abatishchev's user avatar

abatishchev

97.3k85 gold badges297 silver badges432 bronze badges

asked Mar 8, 2013 at 2:52

Moe_Al's user avatar

2

Use NuGet (VS 2013+):

The easiest way in any recent version of Visual Studio is to just use the NuGet package manager. (Even VS2013, with the NuGet Package Manager for Visual Studio 2013 extension.)

Right-click on «References» and choose «Manage NuGet Packages…», then just search for Excel.

enter image description here


VS 2012:

Older versions of VS didn’t have access to NuGet.

  • Right-click on «References» and select «Add Reference».
  • Select «Extensions» on the left.
  • Look for Microsoft.Office.Interop.Excel.
    (Note that you can just type «excel» into the search box in the upper-right corner.)

VS2012/2013 References


VS 2008 / 2010:

  • Right-click on «References» and select «Add Reference».
  • Select the «.NET» tab.
  • Look for Microsoft.Office.Interop.Excel.

VS 2010 References

answered Mar 8, 2013 at 2:58

Grant Winney's user avatar

Grant WinneyGrant Winney

64.7k12 gold badges114 silver badges164 bronze badges

3

You can also try installing it in Visual Studio via Package Manager.

Run Install-Package Microsoft.Office.Interop.Excel in the Package Console.
This will automatically add it as a project reference.

Use is like this:

Using Excel=Microsoft.Office.Interop.Excel;

MJH's user avatar

MJH

2,2817 gold badges17 silver badges20 bronze badges

answered Dec 31, 2016 at 8:22

CYCLONE's user avatar

CYCLONECYCLONE

5414 silver badges5 bronze badges

0

If you have VS 2013 Express and you cant find Microsoft.Office namespace, try this (‘Microsoft Excel 12.0 Object Library’ if you want to use Office 2007)

enter image description here

answered Apr 20, 2015 at 8:37

Muflix's user avatar

MuflixMuflix

5,77015 gold badges72 silver badges150 bronze badges

1

Building off of Mulfix’s answer, if you have Visual Studio Community 2015, try Add Reference… -> COM -> Type Libraries -> ‘Microsoft Excel 15.0 Object Library’.

answered Nov 15, 2016 at 18:08

Daniel.Veneziano's user avatar

0

Instead of early binding the reference, there’s an open source project called NetOffice that abstracts this from your project, making life much easier. That way you don’t have to rely on your users having a specific version of Office installed.

NetOffice Codeplex site.

answered Jun 11, 2015 at 14:24

LawMan's user avatar

LawManLawMan

3,4491 gold badge28 silver badges32 bronze badges

You have to check which version of Excel you are targeting?

If you are targeting Excel 2010 use version 14 (as per Grant’s screenshot answer), Excel 2007 use version 12 . You can not support Excel 2003 using vS2012 as they do not have the correct Interop dll installed.

answered Apr 1, 2013 at 5:09

mas_oz2k1's user avatar

mas_oz2k1mas_oz2k1

2,8513 gold badges33 silver badges41 bronze badges

Go to Visual Studio Installer under Individual Components and click ‘Office Developer Tools for Visual Studio. This solved it for me after lots of headaches.

Go to Visual Studio Installer under Individual Components and click 'Office Developer Tools for Visual Studio'

answered Jul 28, 2022 at 14:34

Dan's user avatar

DanDan

1741 gold badge2 silver badges10 bronze badges

Файл Microsoft.Office.Interop.Excel.dll считается разновидностью DLL-файла. DLL-файлы, такие как Microsoft.Office.Interop.Excel.dll, по сути являются справочником, хранящим информацию и инструкции для исполняемых файлов (EXE-файлов), например wisptis.exe. Данные файлы были созданы для того, чтобы различные программы (например, Microsoft Office Basic 2007) имели общий доступ к файлу Microsoft.Office.Interop.Excel.dll для более эффективного распределения памяти, что в свою очередь способствует повышению быстродействия компьютера.

К сожалению, то, что делает файлы DLL настолько удобными и эффективными, также делает их крайне уязвимыми к различного рода проблемам. Если что-то происходит с общим файлом DLL, то он либо пропадает, либо каким-то образом повреждается, вследствие чего может возникать сообщение об ошибке выполнения. Термин «выполнение» говорит сам за себя; имеется в виду, что данные ошибки возникают в момент, когда происходит попытка загрузки файла Microsoft.Office.Interop.Excel.dll — либо при запуске приложения Microsoft Office Basic 2007, либо, в некоторых случаях, во время его работы. К числу наиболее распространенных ошибок Microsoft.Office.Interop.Excel.dll относятся:

  • Нарушение прав доступа по адресу — Microsoft.Office.Interop.Excel.dll.
  • Не удается найти Microsoft.Office.Interop.Excel.dll.
  • Не удается найти C:WindowsassemblyGACMicrosoft.Office.Interop.Excel12.0.0.0__71e9bce111e9429cMicrosoft.Office.Interop.Excel.dll.
  • Не удается зарегистрировать Microsoft.Office.Interop.Excel.dll.
  • Не удается запустить Microsoft Office Basic 2007. Отсутствует требуемый компонент: Microsoft.Office.Interop.Excel.dll. Повторите установку Microsoft Office Basic 2007.
  • Не удалось загрузить Microsoft.Office.Interop.Excel.dll.
  • Не удалось запустить приложение, потому что не найден Microsoft.Office.Interop.Excel.dll.
  • Файл Microsoft.Office.Interop.Excel.dll отсутствует или поврежден.
  • Не удалось запустить это приложение, потому что не найден Microsoft.Office.Interop.Excel.dll. Попробуйте переустановить программу, чтобы устранить эту проблему.

Файл Microsoft.Office.Interop.Excel.dll может отсутствовать из-за случайного удаления, быть удаленным другой программой как общий файл (общий с Microsoft Office Basic 2007) или быть удаленным в результате заражения вредоносным программным обеспечением. Кроме того, повреждение файла Microsoft.Office.Interop.Excel.dll может быть вызвано отключением питания при загрузке Microsoft Office Basic 2007, сбоем системы при загрузке Microsoft.Office.Interop.Excel.dll, наличием плохих секторов на запоминающем устройстве (обычно это основной жесткий диск) или, как нередко бывает, заражением вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.

Ошибки Microsoft.Office.Interop.Excel.dll

Ошибки Microsoft.Office.Interop.Excel.dll возникают по нескольким причинам, например, файл может быть поврежден, удален или не найден на компьютере. Распространенные ошибки библиотек:

  • Ошибка при запуске Microsoft.Office.Interop.Excel.dll: не найден указанный модуль.
  • Файл не предназначен или несовместим с версией Windows.
  • Отсутствует Microsoft.Office.Interop.Excel.dll, попробуйте переустановить программу.
  • Модуль или библиотека не обнаружены на компьютере.
  • Microsoft.Office.Interop.Excel.dll вернул код ошибки.

Чтобы исправить ошибки Microsoft.Office.Interop.Excel.dll, скачайте файл и переустановите его в системной папке Windows. В некоторых случаях файл должен находиться в папке с игрой или программой. Подробная инструкция по установке Microsoft.Office.Interop.Excel.dll и других библиотек находится в разделе «Помощь».

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

Добрый день!

Собственно есть Win10, Visual Studio 2019, есть MS Office 2007 с установленным Excel.
При попытке подключиться к Excel вылезает ошибка «Could not load file or assembly «Interop.Microsoft.Office.Interop.Excel, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null»» и прочее.
Ссылка на библиотеку добавлена (Microsoft Excel 12.0 Object Library версия 1.6). Цепляется из папки с офисом из файла Excel.exe.
В «C:Windowsassembly» Microsoft.Office.Interop.Excel присутствует.
Весь код

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
using Excel = Microsoft.Office.Interop.Excel;
 
namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            Excel.Application wordApp = new Excel.Application();
        }
    }
}

DLL-ка Interop.Microsoft.Office.Interop.Excel.dll в папке Debug появляется после запуска. Наличие какого-либо осмысленного кода для работы с экселем ничего не дает, т.к. до него дело не доходит.

Единственное, что я заметил, это отличие версии в «C:Windowsassembly» (12.0.6600.1000) от той, которая отображается в проекте (12.0.6771.5000).

PS. Да, я находил темы про эту же ошибку, но не нашел в них решения.

Для работы с Excel файлами в системе 1C существуют определенные технологии. Организовать взаимодействие системы 1C с внешней программой MS Excel можно через COM-объект «Excel.Application». Также есть возможность наладить взаимодействие с Excel из 1C используя технологию ADO.

Данный пример демонстрирует работу с использованием «Excel.Application». Для работоспособности данного примера на компьютере обязательно должно быть установлено программное обеспечение MS Excel.

Прочитать из существующего Excel Файла

Процедура ПрочитатьСуществующийExcelФайл(ПутьКФайлу)Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.DisplayAlerts = 0;
Excel.Visible = 0;
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена");
Возврат;
КонецПопытки;

Книга

= Excel.Workbooks.Open(ПутьКФайлу);
КоличествоЛистов = Книга.Sheets.Count;//Перебор листов
Для НомерЛиста = 1 По КоличествоЛистов Цикл

Лист

= Книга.Sheets(НомерЛиста);
КоличествоСтрок = Лист.Cells(1, 1).SpecialCells(11).Row;
КоличествоКолонок = Лист.Cells(1, 1).SpecialCells(11).Column;//Перебор строк
Для НомерСтроки = 1 По КоличествоСтрок Цикл//Перебор колонок
Для НомерКолонки = 1 По КоличествоКолонок Цикл
ЗначениеЯчейки = Лист.Cells(НомерСтроки, НомерКолонки).Value;
//Выполнение действий с полученным значением
//...
//...
КонецЦикла;КонецЦикла;КонецЦикла;

Excel

.Workbooks.Close();
Excel.Application.Quit();КонецПроцедуры

Записать в существующий Excel Файл

Процедура ЗаписатьСуществующийExcellФайл(ПутьКФайлу)Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.DisplayAlerts = 0;
Excel.Visible = 0;
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена");
Возврат;
КонецПопытки;

Книга

= Excel.Workbooks.Open(ПутьКФайлу);

Лист

= Книга.Sheets(1);
//Установить значение в ячейку
Лист.Cells(1, 1).Value = "Тестовое значение";
Книга.Save();

Excel

.Workbooks.Close();
Excel.Application.Quit();КонецПроцедуры

Создать новый Excel Файл

Процедура СоздатьНовыйExcellФайл(ПутьКФайлу)Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.DisplayAlerts = 0;
Excel.Visible = 0;
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена");
Возврат;
КонецПопытки; //Автоматически будут созданы три листа
Книга = Excel.WorkBooks.Add();
//Получить первый лист
Лист = Книга.Sheets(1);
//Установить значение в ячейку
Лист.Cells(1, 1).Value = "Тестовое значение";Попытка
Книга.SaveAs(ПутьКФайлу);
Исключение
Сообщить(ОписаниеОшибки() + " не удалось сохранить файл");
КонецПопытки;

Excel

.Workbooks.Close();
Excel.Application.Quit();КонецПроцедуры

Понравилась статья? Поделить с друзьями:
  • Dll for excel application
  • Dll for excel 2010
  • Dll for excel 2003
  • Dll file not found excel
  • Dll excel visual studio