Главное Авторские колонки Вакансии Вопросы
431 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как добавить или прочитать формулы в Excel на C#

В этой статье я расскажу о том, как добавлять и читать формулы в Excel с помощью C# и Free Spire.XLS for .NET.
Мнение автора может не совпадать с мнением редакции

Добавление или чтение формул в Excel необходимо для автоматизации вычислений и улучшения анализа данных. Эта функциональность позволяет пользователям создавать динамические электронные таблицы, которые могут выполнять различные математические, статистические и логические операции.

В этой статье я расскажу о том, как добавлять и читать формулы в Excel с помощью C# и Free Spire.XLS for .NET.

  • Добавление формул в Excel на C#
  • Чтение формул в Excel на C#

Бесплатная библиотека для обработки файлов Excel

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

Библиотеку можно установить из NuGet с помощью следующей команды:

PM> Install-Package FreeSpire.XLS

Добавление формул в Excel на C#

В Spire.XLS, присвоив свойству CellRange.Formula строку, представляющую формулу в соответствии с синтаксисом формул Excel, вы можете задать формулу или функцию для ячейки. В следующем фрагменте кода показано, как добавлять различные виды формул в рабочие листы Excel на языке C#.

using Spire.Xls;

namespace AddFormulasAndFunctions

{

internal class Program

{

static void Main(string[] args)

{

// Инициализируем экземпляр класса Workbook

Workbook workbook = new Workbook();

// Получаем первый лист

Worksheet sheet = workbook.Worksheets[0];

// Объявляем две переменные: currentRow, currentFormula

int currentRow = 1;

string currentFormula;

// Добавляем текст на лист и устанавливаем стиль ячейки

sheet.Range[currentRow, 1].Text = «Тестовые данные:»;

sheet.Range[currentRow, 1].Style.Font.IsBold = true;

sheet.Range[currentRow, 1].Style.FillPattern = ExcelPatternType.Solid;

sheet.Range[currentRow, 1].Style.KnownColor = ExcelColors.LightGreen1;

sheet.Range[currentRow, 1].Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Medium;

// Добавляем числовые данные на лист

sheet.Range[++currentRow, 1].NumberValue = 7.3;

sheet.Range[currentRow, 2].NumberValue = 5;

sheet.Range[currentRow, 3].NumberValue = 8.2;

sheet.Range[currentRow, 4].NumberValue = 4;

sheet.Range[currentRow, 5].NumberValue = 3;

sheet.Range[currentRow, 6].NumberValue = 11.3;

currentRow++;

// Добавляем текст на лист и устанавливаем стиль ячейки

sheet.Range[++currentRow, 1].Text = «Формулы»;

sheet.Range[currentRow, 2].Text = «Результаты»;

sheet.Range[currentRow, 1, currentRow, 2].Style.Font.IsBold = true;

sheet.Range[currentRow, 1, currentRow, 2].Style.KnownColor = ExcelColors.LightGreen1;

sheet.Range[currentRow, 1, currentRow, 2].Style.FillPattern = ExcelPatternType.Solid;

sheet.Range[currentRow, 1, currentRow, 2].Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Medium;

// Добавляем текст и формулы на лист

currentFormula = "=\"Hello\"";

sheet.Range[++currentRow, 1].Text = «’» + currentFormula;

sheet.Range[currentRow, 2].Formula = currentFormula;

currentFormula = «=1+2+3+4+5-6-7+8-9»;

sheet.Range[++currentRow, 1].Text = «’» + currentFormula;

sheet.Range[currentRow, 2].Formula = currentFormula;

// Добавляем текст и функции на лист

// СРЕДНЕЕ

currentFormula = «=AVERAGE(Sheet1!$D$2:F$2)»;

sheet.Range[++currentRow, 1].Text = «’» + currentFormula;

sheet.Range[currentRow, 2].Formula = currentFormula;

// СЧЁТ

currentFormula = «=COUNT(3,5,8,10,2,34)»;

sheet.Range[++currentRow, 1].Text = «’» + currentFormula;

sheet.Range[currentRow, 2].Formula = currentFormula;

// И

currentFormula = «=AND(TRUE)»;

sheet.Range[currentRow, 1].Text = «’» + currentFormula;

sheet.Range[currentRow++, 2].Formula = currentFormula;

// СРЕДИНА

currentFormula = "=MID(\"world\",4,2)";

sheet.Range[currentRow, 1].Text = «’» + currentFormula;

sheet.Range[currentRow++, 2].Formula = currentFormula;

// Устанавливаем ширину 1-й, 2-й и 3-й колонок

sheet.SetColumnWidth(1, 32);

sheet.SetColumnWidth(2, 16);

sheet.SetColumnWidth(3, 16);

// Создаем стиль ячейки

CellStyle style = workbook.Styles.Add("Style");

// Устанавливаем горизонтальное выравнивание по левому краю

style.HorizontalAlignment = HorizontalAlignType.Left;

// Применяем стиль к листу

sheet.ApplyStyle(style);

// Сохраняем результирующий файл

workbook.SaveToFile("AddFormulasAndFunctions.xlsx", ExcelVersion.Version2016);

workbook.Dispose();

}

}

}

Чтение формул в Excel на C#

Чтобы проверить, содержит ли ячейка формулу или нет, можно использовать свойство CellRange.HasFormula. Если оно возвращает true, вы можете получить формулу ячейки с помощью свойства CellRange.Formula. Следующий код демонстрирует, как читать формулы в рабочем листе Excel с помощью C#.

using Spire.Xls;

using System.IO;

using System.Text;

namespace ReadFormulasAndFunctions

{

internal class Program

{

static void Main(string[] args)

{

// Инициализируем экземпляр класса Workbook

Workbook workbook = new Workbook();

// Загружаем файл Excel

workbook.LoadFromFile("AddFormulasAndFunctions.xlsx");

// Получаем первый лист

Worksheet sheet = workbook.Worksheets[0];

// Инициализируем экземпляр класса StringBuilder

StringBuilder sb = new StringBuilder();

// Получаем используемый диапазон листа

CellRange usedRange = sheet.AllocatedRange;

// Проходим по всем ячейкам в используемом диапазоне

foreach (CellRange cell in usedRange)

{

// Проверяем, содержит ли текущая ячейка формулу/функцию

if (cell.HasFormula)

{

// Получаем имя ячейки

string cellName = cell.RangeAddressLocal;

// Получаем формулу/функцию

string formula = cell.Formula;

// Добавляем имя ячейки и формулу/функцию в StringBuilder

sb.AppendLine(cellName + " имеет формулу: " + formula);

}

}

// Записываем содержимое StringBuilder в .txt файл

File.WriteAllText("ReadFormulasAndFunctions.txt", sb.ToString());

}

}

}

Заключение

В этой статье вы узнали, как добавлять и читать формулы в Excel на C#. Будучи продвинутой библиотекой для Excel, Free Spire.XLS for .NET поддерживает множество других функций, таких как:

Преобразование Excel в PDF на C#

Преобразование Excel в изображения на C#

Создание диаграмм в Excel на C#

Печать документов Excel в C#

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.