Excel IndexOutOfRange с. NET Core - PullRequest
       8

Excel IndexOutOfRange с. NET Core

0 голосов
/ 08 января 2020

На основе примера https://github.com/dotnet/samples/tree/master/core/extensions/ExcelDemo я могу заставить работать взаимодействие с Excel. NET Core 3.1 (да, я понимаю, что Excel не совсем кроссплатформенный, но терпите меня). Следующий код работает нормально при нацеливании. NET Framework 4.7.2 и, кроме того, *. 1010 * Ядро последней строки разрывается с IndexOutOfRangeException "Индекс был за пределами массива."

Excel.Application excel;
Excel.Workbook workbook;
Excel.Worksheet sheet;
Excel.Range range;

// Start Excel and get Application object.
excel = new Excel.Application();
excel.Visible = true;

// Get a new workbook.
workbook = excel.Workbooks.Add(Missing.Value);
sheet = (Excel.Worksheet)workbook.ActiveSheet;

range = sheet.Range[sheet.Cells[1, 1], sheet.Cells[1, 4]];  //this works fine with .NET Framework but not Core

Унаследованный код, который я пытаюсь перенести, настраивает диапазоны переменных, как это, иначе я бы просто использовал абсолютную индексацию в стиле электронных таблиц, например «A1: D1», которая, кажется, прекрасно работает. NET Core. Я попытался установить excel.ReferenceStyle = Excel.XlReferenceStyle.xlR1C1, а также перестановки sheet.get_Range (,) вместо sheet.Range [,], но я все еще получаю ту же проблему за пределами границ, несмотря на то, что это допустимый диапазон. Есть идеи, как заставить работать вызовы Range. NET Core?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...