Реализовать формулу ячейки локально, аналогично формуле диапазона локально

Введение

Aspose.Cells для .NET — это мощный и гибкий API для работы с электронными таблицами, который позволяет программно создавать, изменять и преобразовывать файлы Excel. Одной из многих функций, предлагаемых Aspose.Cells, является возможность настраивать поведение встроенных функций Excel, включая возможность создания собственных локальных имен функций. В этом руководстве мы проведем вас через шаги по реализации формулы ячейки, которая похожа на локальную функциональность формулы диапазона в Aspose.Cells для .NET.

Предпосылки

Прежде чем начать, убедитесь, что у вас есть следующее:

  1. В вашей системе должна быть установлена Microsoft Visual Studio 2010 или более поздняя версия.
  2. Последняя версия библиотеки Aspose.Cells for .NET, установленная в вашем проекте. Вы можете загрузить библиотеку с сайтаСтраница загрузки Aspose.Cells для .NET.

Импортные пакеты

Для начала вам нужно импортировать необходимые пакеты в ваш проект C#. Добавьте следующие операторы using в начало вашего файла кода:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

Шаг 1: Создание пользовательского класса настроек глобализации

Первый шаг — создать пользовательскийGlobalizationSettingsкласс, который позволит вам переопределить поведение функций Excel по умолчанию. В этом примере мы изменим именаSUM иAVERAGE функции дляUserFormulaLocal_SUM иUserFormulaLocal_AVERAGE, соответственно.

class GS : GlobalizationSettings
{
    public override string GetLocalFunctionName(string standardName)
    {
        //Измените имя функции СУММ в соответствии с вашими потребностями.
        if (standardName == "SUM")
        {
            return "UserFormulaLocal_SUM";
        }
        //Измените имя функции СРЗНАЧ в соответствии с вашими потребностями.
        if (standardName == "AVERAGE")
        {
            return "UserFormulaLocal_AVERAGE";
        }
        return "";
    }
}

Шаг 2: Создайте новую рабочую книгу и назначьте пользовательские параметры глобализации

Далее создайте новый экземпляр Workbook и назначьте ему пользовательскоеGlobalizationSettings класс реализации для рабочей книгиSettings.GlobalizationSettings свойство.

//Создать рабочую книгу
Workbook wb = new Workbook();
//Назначить класс реализации GlobalizationSettings
wb.Settings.GlobalizationSettings = new GS();

Шаг 3: Получите доступ к первому рабочему листу и ячейке

Теперь давайте перейдем к первому листу в книге и к определенной ячейке на этом листе.

//Доступ к первому рабочему листу
Worksheet ws = wb.Worksheets[0];
//Доступ к некоторым ячейкам
Cell cell = ws.Cells["C4"];

Шаг 4: Назначьте формулы и распечатайте FormulaLocal

Наконец, давайте назначимSUM иAVERAGE формулы в ячейку и распечатать полученный результатFormulaLocal ценности.

//Назначьте формулу SUM и распечатайте ее FormulaLocal
cell.Formula = "SUM(A1:A2)";
Console.WriteLine("Formula Local: " + cell.FormulaLocal);
//Назначьте формулу СРЗНАЧ и распечатайте ее FormulaLocal
cell.Formula = "=AVERAGE(B1:B2, B5)";
Console.WriteLine("Formula Local: " + cell.FormulaLocal);

Заключение

В этом уроке вы узнали, как реализовать формулу ячейки, которая похожа на локальную функциональность формулы диапазона в Aspose.Cells для .NET. Создавая пользовательскуюGlobalizationSettings class, вы можете переопределить поведение функций Excel по умолчанию и настроить локальные имена функций в соответствии с вашими потребностями. Это может быть особенно полезно при работе с локализованными или интернационализированными документами Excel.

Часто задаваемые вопросы

Какова цельGlobalizationSettings class in Aspose.Cells?

TheGlobalizationSettings Класс в Aspose.Cells позволяет настраивать поведение встроенных функций Excel, включая возможность изменять имена локальных функций.

Могу ли я переопределить поведение функций, отличных отSUM and AVERAGE?

Да, вы можете переопределить поведение любой встроенной функции Excel, изменив ееGetLocalFunctionName метод в вашем собственномGlobalizationSettings сорт.

Есть ли способ сбросить имена функций до значений по умолчанию?

Да, вы можете сбросить имена функций, удалив пользовательскиеGlobalizationSettings класс или путем возврата пустой строки изGetLocalFunctionName метод.

Могу ли я использовать эту функцию для создания пользовательских функций в Aspose.Cells?

Нет,GlobalizationSettingsкласс предназначен для переопределения поведения встроенных функций Excel, а не для создания пользовательских функций. Если вам нужно создать пользовательские функции, вы можете использоватьUserDefinedFunction класс в Aspose.Cells.

Доступна ли эта функция во всех версиях Aspose.Cells для .NET?

Да,GlobalizationSettings класс и возможность настраивать имена функций доступны во всех версиях Aspose.Cells для .NET.