Взаимодействие с Excel: Range.FormatConditions.Add создает исключение MissingMethodException
-
22-07-2019 - |
Вопрос
Я пишу приложение, которое использует сборку Microsoft.Office.Interop.Excel для экспорта / импорта данных из электронных таблиц Excel. Все шло хорошо (за исключением индексации на основе 1 и всех этих необязательных параметров!), Пока я не попытался использовать условное форматирование. Когда я вызываю Range.FormatConditions.Add, я получаю исключение MissingMethodException, сообщающее, что такого метода не существует. Это происходит как в Vista, так и в XP.
Вот пример кода, который генерирует исключение:
//1. Add a reference to Microsoft.Office.Interop.Excel (version 11.0.0.0)
//2. Compile and run the following code:
using Microsoft.Office.Interop.Excel;
class Program
{
static void Main(string[] args)
{
Application app = new Application();
Workbook workbook = app.Workbooks[1];
Worksheet worksheet = (Worksheet)workbook.Worksheets[1];
Range range = worksheet.get_Range("A1", "A5");
FormatCondition condition = range.FormatConditions.Add(
XlFormatConditionType.xlCellValue,
XlFormatConditionOperator.xlBetween,
100,
200);
}
}
Решение
Это может быть хорошей ссылкой для вас: http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/8a91d154-f766-427a-963c-16dfa39e154a/
Другие советы
Метод Add () для интерфейса FormatConditions имеет 8 параметров, а не 4. AFAIK. В пространстве имен Excel.Extensions для этого типа нет метода расширения. Вы использовали метод расширения в приведенном выше примере или ...?