VSTO Как установить XlCalculationManual? - PullRequest
2 голосов
/ 14 апреля 2020

Я создаю VSTO Excel Addin, который добавляет лист Excel и устанавливает значения в листе при нажатии кнопки ленты.

Это работает хорошо, когда в Active WorkBook не так много функций. Но когда дело доходит до WorkBook с большим количеством функций, оно становится очень медленным.

Я думаю, что проблема заключается в методе расчета WorkBook.

  1. Создание другой WorkBook объект и объект WorkSheet, а затем скопируйте рабочий лист в исходную рабочую книгу.

  2. Изменить метод расчета.

Я пробовал следующие решения, но это не так не работает.

private void A2_Click(object sender, RibbonControlEventArgs e)
    {
        var activeSheet = Globals.ThisAddIn.Application.ActiveSheet as Excel.Worksheet;
        var thisworkbook = Globals.ThisAddIn.Application.ActiveWorkbook as Excel.Workbook;
        string linesheetname =  DateTime.Now.ToString("hh-mm-ss");
        thisworkbook.Worksheets.Add(After: activeSheet);
        activeSheet = thisworkbook.ActiveSheet;
        activeSheet.Name = linesheetname;
        string[] rowstr = {//about 1000 elements in here};
        for (int i = 0; i < rowstr.Length; i++)
        {
            activeSheet.Cells[i + 1, 1] = rowstr[i];
        }
        for (int j = 1; j < 1001; j++)
        {
            activeSheet.Cells[1, j + 1] = j;
        }
    }

Эта программа занимает слишком много времени для завершения. Можно ли изменить метод расчета в рабочей книге? Есть ли другие способы добавить рабочий лист и очень быстро установить значения в ячейках? Как я могу решить это?

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