Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Interop excel dll

Работа с Excel с помощью C# (Microsoft.Office.Interop.Excel)

Оставляю заметку по работе с Excel с помощью C#.

Привожу фрагменты кода, которые искал когда-то сам для работы с Excel документами.

Наработки очень пригодились в работе для формирования отчетности.

Прежде всего нужно подключить библиотеку Microsoft.Office.Interop.Excel.

Visual Studio здесь довольно старой версии. Если у вас версия новая, отличаться будет только вид окна.

Далее создаем псевдоним для работы с Excel:

using Excel = Microsoft.Office.Interop.Excel;

Расстановка рамок.

Расставляем рамки со всех сторон:

Цвет рамки можно установить так:

Выравнивания в диапазоне задаются так:

Формулы

Определим задачу: получить сумму диапазона ячеек A4:A10.

Для начала снова получим диапазон ячеек:

Excel.Range formulaRange = sheet.get_Range(sheet.Cells[4, 1], sheet.Cells[9, 1]);

Далее получим диапазон вида A4:A10 по адресу ячейки ( [4,1]; [9;1] ) описанному выше:

string adder = formulaRange.get_Address(1, 1, Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing);

Теперь в переменной adder у нас хранится строковое значение диапазона ( [4,1]; [9;1] ), то есть A4:A10.

Выделение ячейки или диапазона ячеек

Так же можно выделить ячейку или диапазон, как если бы мы выделили их мышкой:

Авто ширина и авто высота

Чтобы настроить авто ширину и высоту для диапазона, используем такие команды:

Получаем значения из ячеек

Чтобы получить значение из ячейки, используем такой код:

Добавляем лист в рабочую книгу

Чтобы добавить лист и дать ему заголовок, используем следующее:

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

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

Как открыть существующий документ Excel

Комментарии

При работе с Excel с помощью C# большую помощь может оказать редактор Visual Basic, встроенный в Excel.

Для этого в настройках ленты надо добавить пункт «Разработчик». Далее начинаем запись макроса, производим действия и останавливаем запись.

Далее заходим в редактор Visual Basic и смотрим код, который туда записался:

В данном макросе записаны все действия, которые мы выполнили во время его записи. Эти методы и свойства можно использовать в C# коде.

Данный метод так же может оказать помощь в формировании относительных формул, например, выполнить сложение чисел, находящиеся слева от текущей ячейки на 4 столбца, и т.п. Пример:

Так же во время работы может возникнуть ошибка: метод завершен неверно. Это может означать, что не выбран лист, с которым идет работа.

Как ссылаться на Microsoft.Office.Interop.Excel dll?

Я разработал систему, которая работает с excel листами в 2006 году, используя MS VS 2005. Теперь я не могу использовать ту же ссылку С MS VS 2012.

6 Ответов

Используйте NuGet (VS 2013+):

Самый простой способ в любой последней версии Visual Studio-это просто использовать диспетчер пакетов NuGet. (Даже VS2013, с расширением NuGet Package Manager for Visual Studio 2013 .)

Щелкните правой кнопкой мыши на «References» и выберите «Manage NuGet Packages. «, а затем просто найдите Excel.

VS 2012:

Более старые версии VS не имели доступа к NuGet.

  • Щелкните правой кнопкой мыши на «References» и выберите «Add Reference».
  • Выберите «Extensions» слева.
  • Ищите Microsoft.Office.Interop.Excel .
    (Обратите внимание, что вы можете просто ввести «excel» в поле поиска в правом верхнем углу.)

VS 2008 / 2010:

  • Щелкните правой кнопкой мыши на «References» и выберите «Add Reference».
  • Выберите вкладку «.NET».
  • Ищите Microsoft.Office.Interop.Excel .

Вы также можете попробовать установить его в Visual Studio с помощью диспетчера пакетов.

Запустите Install-Package Microsoft.Office.Interop.Excel в консоли пакета. Это автоматически добавит его в качестве ссылки на проект.

Использование происходит примерно так:

Если у вас есть VS 2013 Express и вы не можете найти пространство имен Microsoft.Office, попробуйте это (‘Microsoft Excel 12.0 Object Library’, если вы хотите использовать Office 2007)

Основываясь на ответе Mulfix, если у вас есть Visual Studio Community 2015, попробуйте добавить ссылку. -> COM — > Библиотеки Типов — > ‘Microsoft Excel 15.0 Object Library’.

Читать еще:  Функция знач в excel

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

Вы должны проверить, на какую версию Excel вы ориентируетесь?

Если вы нацелены на Excel 2010 использовать версию 14 (в соответствии с ответом гранта на скриншот), Excel 2007 использовать версию 12 . Вы не можете поддерживать Excel 2003 с помощью vS2012, так как у них не установлен правильный Interop dll.

Похожие вопросы:

Как я могу запретить ссылаться на библиотеку классов dll в других решениях?

Использовать Microsoft.Office.Interop.Excel COM dll в проекте .net, что является лучшим подходом. Добавить в проект ссылку dll из списка библиотек COM? Скопируйте dll в папку bin / Release, а затем.

Я использую ссылку Microsoft.Office.Interop.Excel в приложении-службе windows для создания отчетов excel. Приложение отлично строится на машине DEV, но на машине сборки он не говорит: тип или имя.

Я обновляю пользовательскую службу Windows, которая в настоящее время установлена на сервере Windows 2003. Служба считывает файлы excel, отправленные на адрес email, и записывает их в этот же файл.

Я создаю приложение с WPF и C#, в основном я хочу позволить любому создать dll и поместить его в папку (аналогично плагинам). Приложение будет принимать все библиотеки DLL в папке, загружать их и.

Я пытаюсь решить проблему ссылок на библиотеки DLL в Visual studio 2012. Все библиотеки DLL установили их самостоятельно таким образом, что они ищут версию .net 4.0, в то время как я не могу.

.NetBlog — блог о программировании на C# .Net, и других, не мене интересных вещах.

Заметки о разработке ПО, советы по .net, SharePoint, SQL, архитектура приложений, литература по программированию. А также просто просто мысли о жизни и рассказы о том, что интересно автору, например путешествиях и вкусной еде 😉

суббота, 11 октября 2014 г.

COM Interop на примере работы с Excel

В предыдущем посте я писал о создании csv-файла и экспорта в него данных из ASP.NET и при этом, перечисляя разные варианты, не упомянул один совсем уже бредовый для web-приложения, но частенько очень подходящий для приложений десктопных. Это работа с установленным в системе COM-объектом c помощью технологии под названием COM Interop.

COM Interop используется в .Net для предоставления возможности взаимодействия управляемого .Net кода с COM-объектами. Тля того чтобы использовать какой-либо COM-объект из управляемого кода, необходимо создать сборку, содержащую информацию о типах содержащихся в COM-библиотеке, в совместимом с CRL формате.

В процессе работы приложения CLR создает для каждого COM-объекта внутренний объект, называемый Runtime Callable Wrapper (Вызываемая оболочка времени выполнения) или RCW, которая используется для создания COM-объекта и маршалинга данных между управляемой и неуправляемой средой. Также, RCW используется для мониторинга количества активных ссылок на COM-объект и его уничтожение, когда количество активных ссылок станет равным нулю. Выглядит это примерно так:

Обычно, если вы ходите создать CLR библиотеку для какого-либо компонента самостоятельно, то вам нужно использовать утилиту Tlbimp.exe, но для использования компонентов Office этого делать не нужно. Все необходимые библиотеки уже устанавливаются вместе с продуктом. Нам достаточно только добавить нужную сборку в проект.

И добавить соответствующую строку using в ваш код

using Excel = Microsoft.Office.Interop.Excel;

В качестве источника данных для примера будем использовать список массивов строк ( List ). В коде я написал комментарии, которые, думаю, будут вполне понятно объяснять что происходит.

Ну и пара нюансов с которыми вы можете столкнуться. В случае, если в COM-компоненте происходит исключение, которое вы не обработаете, то, как и положено, весть домен приложения будет аварийно закрыт. Вместе с RCW. В результате чего, COM-объект так и останется висеть в памяти. То есть, вполне реально получить вот такую картинку:

Читать еще:  Excel vba копирование файлов

И нюанс второй. Код сверху не совсем правильный. Дело в том, что работая с COM Interop нужно быть предельно внимательным и осторожным, потому, что случайно можно создать COM-объект, совершенно об этом не подозревая. В данном случае, создается даже не один «случайный» объект, а несколько.
Во-первых, в строке xlsWB = App.Workbooks.Add(missingValue); создается объект App.Workbooks, который не присваевается переменной и, соответственно, не освобожается дл тех пор, пока не выгрузится домен приложения.
Во-вторых, такая же проблема в строке в строке: xlsSheet = (Excel.Worksheet)xlsWB.Worksheets.get_Item(1);

Для того, чтобы эту проблему решить необходимо добавить две новые переменные и немного изменить код инициализации:

3 простых шага по исправлению ошибок MICROSOFT.OFFICE.INTEROP.EXCEL.DLL

Файл microsoft.office.interop.excel.dll из Microsoft Corporation является частью 2007 Microsoft Office system. microsoft.office.interop.excel.dll, расположенный в e:Program FilesDRPU Barcode Software for Inventory Control and Retail Business с размером файла 1276720.00 байт, версия файла 12.0.4518.1014, подпись 28C6B1E41627280C77B3A604C10501D6.

В вашей системе запущено много процессов, которые потребляют ресурсы процессора и памяти. Некоторые из этих процессов, кажется, являются вредоносными файлами, атакующими ваш компьютер.
Чтобы исправить критические ошибки microsoft.office.interop.excel.dll,скачайте программу Asmwsoft PC Optimizer и установите ее на своем компьютере

1- Очистите мусорные файлы, чтобы исправить microsoft.office.interop.excel.dll, которое перестало работать из-за ошибки.

  1. Запустите приложение Asmwsoft Pc Optimizer.
  2. Потом из главного окна выберите пункт «Clean Junk Files».
  3. Когда появится новое окно, нажмите на кнопку «start» и дождитесь окончания поиска.
  4. потом нажмите на кнопку «Select All».
  5. нажмите на кнопку «start cleaning».

2- Очистите реестр, чтобы исправить microsoft.office.interop.excel.dll, которое перестало работать из-за ошибки.

3- Настройка Windows для исправления критических ошибок microsoft.office.interop.excel.dll:

  1. Нажмите правой кнопкой мыши на «Мой компьютер» на рабочем столе и выберите пункт «Свойства».
  2. В меню слева выберите » Advanced system settings».
  3. В разделе «Быстродействие» нажмите на кнопку «Параметры».
  4. Нажмите на вкладку «data Execution prevention».
  5. Выберите опцию » Turn on DEP for all programs and services . » .
  6. Нажмите на кнопку «add» и выберите файл microsoft.office.interop.excel.dll, а затем нажмите на кнопку «open».
  7. Нажмите на кнопку «ok» и перезагрузите свой компьютер.

Всего голосов ( 34 ), 16 говорят, что не будут удалять, а 18 говорят, что удалят его с компьютера.

Как вы поступите с файлом 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.interop.excel.dll) — Ошибка приложения: the instruction at 0xXXXXXX referenced memory error, the memory could not be read. Нажмитие OK, чтобы завершить программу.

(microsoft.office.interop.excel.dll) не является ошибкой действительного windows-приложения.

(microsoft.office.interop.excel.dll) отсутствует или не обнаружен.

MICROSOFT.OFFICE.INTEROP.EXCEL.DLL

Проверьте процессы, запущенные на вашем ПК, используя базу данных онлайн-безопасности. Можно использовать любой тип сканирования для проверки вашего ПК на вирусы, трояны, шпионские и другие вредоносные программы.

процессов:

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Microsoft.Office.Interop.Excel.dll adlı kullanıcıyı indirin ve Onarın

Bazen, Windows sistemi bozuk veya eksik Microsoft.Office.Interop.Excel.dll dosyalarıyla ilgili hata mesajları görüntüler. Bunun gibi durumlar örneğin bir yazılım yükleme işlemi sırasında ortaya çıkabilir. Her yazılım programı, düzgün çalışması için belirli kaynaklar, kütüphaneler ve kaynak verileri gerektirir. Bozuk veya bulunmayan Microsoft.Office.Interop.Excel.dll dosyası, başlatılan işlemin başarısız şekilde yürütülmesine etki edebilir.

Dosya, yazılımıyla birlikte kullanılmak üzere tarafından geliştirilmiştir. Burada, cihazdaki Microsoft.Office.Interop.Excel.dll ile ilgili hatalar durumunda nasıl devam edeceğinizle ilgili dosya ve talimatlarla ilgili ayrıntılı bilgiler bulacaksınız. Microsoft.Office.Interop.Excel.dll dosyasını, aynı zamanda (büyük olasılıkla) sorunu çözmenize olanak tanıyan Windows 10, Windows 7, Windows Vista cihazlarıyla uyumlu olarak da indirebilirsiniz.

Читать еще:  Vb net работа с excel

İle uyumlu: Windows 10, Windows 7, Windows Vista

Microsoft.Office.Interop.Excel.dll hatalarını düzelt

Dosya bilgisi

En yaygın Microsoft.Office.Interop.Excel.dll dosyasıyla ilgili sorunlar

Microsoft.Office.Interop.Excel.dll dosyasıyla ilgili birkaç tür hata var. Microsoft.Office.Interop.Excel.dll dosyası cihazınızda yanlış dosya dizininde bulunabilir, sistemde bulunmayabilir ya da kötü amaçlı yazılım bulaştırılmış olabilir ve bu nedenle düzgün çalışmayabilir. Microsoft.Office.Interop.Excel.dll dosyası ile ilgili en yaygın hata mesajlarının bir listesi aşağıdadır. Aşağıda listelenen birini (veya benzerini) bulursanız, lütfen aşağıdaki önerileri dikkate alın.

  • Microsoft.Office.Interop.Excel.dll bozuk
  • Microsoft.Office.Interop.Excel.dll bulunamıyor
  • Çalışma Zamanı Hatası — Microsoft.Office.Interop.Excel.dll
  • Microsoft.Office.Interop.Excel.dll dosya hatası
  • Microsoft.Office.Interop.Excel.dll dosyası yüklenemiyor. Modül bulunamadı
  • Microsoft.Office.Interop.Excel.dll dosyası kaydedilemiyor
  • Microsoft.Office.Interop.Excel.dll dosyası yüklenemedi
  • Microsoft.Office.Interop.Excel.dll dosyası mevcut değil

Microsoft.Office.Interop.Excel.dll

Microsoft.Office.Interop.Excel.dll dosyası eksik olduğundan uygulama başlatılamadı. Sorunu çözmek için uygulamayı yeniden yükleyin.

Microsoft.Office.Interop.Excel.dll ile ilgili sorunlar çeşitli şekillerde ele alınabilir. Bazı yöntemler yalnızca ileri düzey kullanıcılar içindir. Becerilerinize güvenmiyorsanız, bir uzmana danışmanızı öneririz. Microsoft.Office.Interop.Excel.dll dosyalarının düzeltilmesi, hataların dengesiz veya yanlış çalışan bir sisteme yol açabileceği için büyük bir dikkatle ele alınmalıdır. Gerekli becerilere sahipseniz, lütfen devam edin.

Microsoft.Office.Interop.Excel.dll hataları sadece birkaç adımda nasıl düzeltilir?

Microsoft.Office.Interop.Excel.dll dosya hataları çeşitli faktörlerden kaynaklanabilir, bu nedenle bunları çeşitli yöntemler kullanarak düzeltmeyi denemek faydalıdır.

1. Adım: Bilgisayarınızı herhangi bir kötü amaçlı yazılım için tarayın.

Windows dosyaları genellikle düzgün çalışmalarını önleyen kötü amaçlı yazılımlar tarafından saldırıya uğrar. Microsoft.Office.Interop.Excel.dll dosyası veya başka bir Windows sistem dosyasıyla ilgili sorunları çözmede ilk adım, bir virüsten koruma aracı kullanarak sistemi kötü amaçlı yazılımlara karşı taramalıdır.

Şans eseri, sisteminizde henüz kurulu bir antivirüs yazılımı yoksa, hemen yapmalısınız. Korunmasız sistem sadece bir dosya hatası kaynağı olmakla kalmaz, daha da önemlisi, sisteminizi birçok tehlikeye karşı savunmasız hale getirir. Hangi virüsten koruma aracını seçeceğinizi bilmiyorsanız, bu Wikipedia makalesine bakın — virüsten koruma yazılımının karşılaştırılması.

2. Adım: Sisteminizi ve sürücülerinizi güncelleyin.

İlgili Microsoft Windows yamalarını ve güncellemelerini yüklemek, Microsoft.Office.Interop.Excel.dll dosyasıyla ilgili sorunlarınızı çözebilir. Güncellemeyi gerçekleştirmek için özel Windows aracını kullanın.

  1. Windows «Başlat» menüsüne gidin
  2. Arama alanına «Windows Update» yazın
  3. Uygun yazılım programını seçin (ad, sistem sürümünüze bağlı olarak değişebilir)
  4. Sisteminizin güncel olup olmadığını kontrol edin. Uygulanmamış güncellemeler listeleniyorsa, hemen yükleyin.
  5. Güncelleme yapıldıktan sonra, işlemi tamamlamak için bilgisayarınızı yeniden başlatın.

Sistemi güncellemenin yanı sıra, sürücüler Microsoft.Office.Interop.Excel.dll veya diğer sistem dosyalarının düzgün çalışmasını etkileyebileceğinden en son aygıt sürücülerini yüklemeniz önerilir. Bunu yapmak için, en son sürücü güncellemeleri hakkında bilgi edinebileceğiniz bilgisayarınıza veya cihaz üreticisinin web sitesine gidin.

3. Adım: Sistem Dosyası Denetleyicisi’ni (SFC) aracını kullanın

Sistem Dosyası Denetleyicisi, bir Microsoft Windows aracıdır. Adından da anlaşılacağı gibi, araç Microsoft.Office.Interop.Excel.dll dosyasıyla ilgili olanlar da dahil olmak üzere sistem dosyasıyla ilgili hataları tanımlamak ve gidermek için kullanılır. %fileextension% dosyasıyla ilgili bir hata bulunduktan sonra, program Microsoft.Office.Interop.Excel.dll dosyasını otomatik olarak düzgün çalışan bir sürümle değiştirmeye çalışır. Aracı kullanmak için:

  1. Windows «Başlat» menüsüne gidin
  2. Arama alanına «cmd» yazın
  3. Komut İstemi — sonucunu bulun — henüz çalıştırma
  4. Farenin sağ tuşunu tıklayın ve «Yönetici Olarak Çalıştır» seçeneğini seçin
  5. Programı başlatmak ve talimatları takip etmek için konsol istemine «sfc / scannow» yazın

4. Adım: Windows sistemini geri yükleme

Başka bir yaklaşım, Microsoft.Office.Interop.Excel.dll dosyası hatası oluşmadan sistemi önceki durumuna geri yüklemek. Sisteminizi geri yüklemek için aşağıdaki talimatları izleyin.

  1. Windows «Başlat» menüsüne gidin
  2. Arama alanına «Sistem Geri Yükleme» yazın
  3. Sistem geri yükleme aracını başlatın — adı sistemin sürümüne bağlı olarak değişebilir.
  4. Uygulama sürecinde size rehberlik edecektir — mesajları dikkatlice okuyun
  5. İşlem bittikten sonra bilgisayarınızı yeniden başlatın.
Ссылка на основную публикацию
Adblock
detector