Как добавить или прочитать формулы в Excel на C#
Добавление или чтение формул в 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); // Сохраняем результи

Добавление или чтение формул в 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());
}
}
}