2016-07-17 5 views
0

Я получаю эту ошибку всякий раз, когда попадаю на часть кода, которая генерирует таблицу excel.Spreadsheetgear not loading

Невозможно загрузить SpreadsheetGear2012.Drawing.dll или SpreadsheetGear2012.Windows.WPF.dll, которые содержащие графические возможности.

Я попытался удалить и переустановить электронную таблицуGear; удаляя сборку и возвращая ее, но проблема все еще сохраняется.

Я использую spreadsheetgear с C#.

+1

Покажите нам этот код, пожалуйста. –

ответ

2

Одной из распространенных причин может произойти это исключение, если у вас есть несколько VS Проекты, которые используют SpreadsheetGear прямо и косвенно, например, следующее:

  • Project A - использует SpreadsheetGear непосредственно
  • Проект B - использует проект а, но не SpreadsheetGear непосредственно

в таком случае вам все равно нужно будет добавить ссылку на один из графических сборок (SpreadsheetGear2012.Drawing.dll или SpreadsheetGear2012.WPF.dll) в Project B, поскольку «Core» динамически пытается загрузить доступную графическую сборку во время выполнения, а Visual Studio не всегда будет копировать все необходимые сборки SpreadsheetGear в папку bin проекта. Вы также можете убедиться, что параметр «Копировать локальный» на панели «Свойства» для всех наших сборок установлен в значение «Истина» и что все они соответствуют номеру версии.

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

Вы можете прочитать больше о различных сборочных файлов SpreadsheetGear по адресу: http://www.spreadsheetgear.com/support/help/spreadsheetgear.net.7.0/#Key_Concept_SpreadsheetGear_Assemblies.html

+0

Спасибо Тим :-) !!! Я должен был бы красным до –

1

я столкнулся с подобным вопросом сегодня. Ниже приведено исключение.

Невозможно загрузить SpreadsheetGear2012.Drawing.dll или SpreadsheetGear2012.Windows.WPF.dll , которые содержат графические возможности, необходимые для выполнения текущей операции.
Добавьте ссылку на один из них в свой проект.
Если вы все еще получаете это исключение (распространенное в библиотеках) попробуйте добавить фиктивную ссылку, такую ​​как "внутренняя статическая таблица Excel.Разработка.Цвета _dummyReference;" для SpreadsheetGear2012.Drawing.dll или "внутренняя статическая таблицаGear.Windows.Media.Image _dummyReference = null;" для SpreadsheetGear2012.Windows.WPF.dll.

Я решил проблему, добавив фиктивный рефрен, как показано в исключении.

internal static SpreadsheetGear.Drawing.Color _dummyReference; 

Надеюсь, это поможет в некотором роде.

0

Проблема может быть с листом excel.

Я столкнулся с той же проблемой и решил ее, открыв Excel и выполнив поиск любых диаграмм/изображений или других материалов, связанных с рисованием.

Я хотел получить Datatable для определенного диапазона, но было несколько диаграмм и изображений между ними. поэтому я удалил их и запустил код. это сработало. Или вы можете ссылаться на draw.dll, если у вас есть. Не знаете, бесплатно ли он или платный.