Как вставить или удалить текстовые поля в Excel на C#
В Excel текстовое поле - это графический объект, позволяющий добавлять текст на рабочий лист в свободной форме. В отличие от обычных ячеек, текстовое поле можно перемещать, изменять размер и форматировать независимо от структуры сетки.
В этой статье я расскажу, как вставить или удалить текстовое поле в Excel с помощью C# и бесплатной библиотеки Excel.
- Вставка текстового поля в Excel
- Извлечение текстового поля из Excel
Установите бесплатную библиотеку Excel для .NET
Free Spire.XLS for .NET — это мощная библиотека, позволяющая разработчикам создавать, читать, записывать и манипулировать файлами Excel в приложениях .NET. Она поддерживает широкий спектр функций Excel, включая добавление и удаление текстовых полей в Excel.
Библиотеку можно установить из NuGet с помощью следующей команды:
PM> Install-Package FreeSpire.XLS
Вставка текстового поля в Excel
С помощью Free Spire.XLS вы можете добавить текстовое поле в рабочий лист в указанном месте и нужного размера, используя метод Worksheet.TextBoxes.AddTextBox( int row, int column, int height, int width). После создания текстового поля можно добавить в него текст и применить форматирование для придания ему привлекательного вида.
Следующий фрагмент кода демонстрирует, как вставить текстовое поле в рабочий лист с помощью C#.
using Spire.Xls;
using Spire.Xls.Core;
using System.Drawing;
namespace AddTextbox
{
class Program
{
static void Main(string[] args)
{
// Создаем объект Workbook
Workbook workbook = new Workbook();
// Загружаем документ Excel
workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx");
// Получаем конкретный лист
Worksheet sheet = workbook.Worksheets[0];
// Добавляем текстовое поле в указанное место
ITextBoxShape textBoxShape = sheet.TextBoxes.AddTextBox(3, 3, 60, 200);
// Устанавливаем текст текстового поля
textBoxShape.Text = «Это текстовое поле с примером текста.»;
// Создаем шрифт
ExcelFont font = workbook.CreateFont();
font.FontName = «Calibri»;
font.Size = 14;
font.Color = Color.Red;
// Применяем шрифт к тексту
textBoxShape.RichText.SetFont(0, textBoxShape.Text.Length — 1, font);
// Устанавливаем горизонтальное выравнивание
textBoxShape.HAlignment = CommentHAlignType.Left;
// Устанавливаем цвет заливки фигуры
textBoxShape.Fill.FillType = ShapeFillType.SolidColor;
textBoxShape.Fill.ForeColor = Color.LightGreen;
// Сохраняем файл Excel
workbook.SaveToFile("output/AddTextBox.xlsx", ExcelVersion.Version2010);
// Освобождаем ресурсы
workbook.Dispose();
}
}
}
Извлечение текстового поля из Excel
Чтобы получить доступ к текстовым полям на рабочем листе, можно использовать свойство Worksheet.TextBoxes. Далее вы можете получить конкретное текстовое поле из коллекции через TextBoxes[index]. И наконец, текстовое поле можно удалить с помощью метода TextBox.Remove().
Следующий код демонстрирует, как удалить определенное текстовое поле из рабочего листа с помощью C#.
using Spire.Xls;
namespace RemoveTextbox
{
class Program
{
static void Main(string[] args)
{
// Создаем объект Workbook
Workbook workbook = new Workbook();
// Загружаем файл Excel
workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\TextBox.xlsx");
// Получаем конкретный лист
Worksheet sheet = workbook.Worksheets[0];
// Удаляем конкретное текстовое поле
sheet.TextBoxes[0].Remove();
// Сохраняем обновленный документ в другой файл Excel
workbook.SaveToFile("output/RemoveTextbox.xlsx", ExcelVersion.Version2016);
// Освобождаем ресурсы
workbook.Dispose();
}
}
}
Заключение
В этой статье вы узнали, как вставлять и удалять текстовые поля в файле Excel на языке C#. Будучи продвинутой библиотекой для Excel, Free Spire.XLS for .NET поддерживает множество других функций, таких как:
Преобразование Excel в PDF на C#