Наиболее распространенными и широко используемыми форматами файлов электронных таблиц являются XLS, XLSX и ODS. Известные Microsoft Excel и OpenOffice Calc поддерживают эти форматы, и мы обычно используем эти форматы для ведения учетных записей и различных электронных таблиц. Поэтому нам, как разработчикам, необходимо программно редактировать файлы Excel в наших приложениях. В этой статье мы обсудим, как редактировать файлы Excel на C# с помощью .NET API.
В этой статье кратко обсуждаются следующие темы:
- .NET API — редактирование электронных таблиц Excel
- Редактировать файлы электронных таблиц Excel в C#
.NET API для редактирования и автоматизации электронных таблиц Excel
GroupDocs демонстрирует .NET API для редактирования электронных таблиц. Я буду использовать его в примерах C# этой статьи. Это API редактирования документов, который позволяет разработчикам загружать, редактировать и сохранять различные форматы документов с помощью HTML-редакторов WYSIWYG. Помимо форматов электронных таблиц XLS, XLSX и ODS, API поддерживает редактирование различных других форматов, поддерживаемых электронными таблицами и MS Excel например CSV, TSV, DSV, XLT, XLTX, XLTM, XLSM, XLSB, XLAM, SXC, SpreadsheetML, FODS, DIF.
Загрузите установщик DLL или MSI из раздела загрузок или установите API в свое приложение .NET через NuGet.
PM> Install-Package GroupDocs.Editor
Редактировать файлы Excel в C#
Надеюсь, вы успешно сослались на API. Теперь вы можете быстро приступить к редактированию документов Excel. Следующие шаги позволят вам редактировать электронные таблицы с помощью C#.
- Загрузите файл Excel.
- Редактировать соответственно с параметрами.
- Сохранить отредактированный документ.
Загрузить электронную таблицу Excel
Во-первых, загрузите электронную таблицу, указав путь/поток документа и пароль (если документ защищен паролем).
// Загрузите файл Excel с помощью С#
Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.Password = "password"; // if any
// Загрузите электронную таблицу
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });
Редактировать файл Excel
После загрузки вы можете редактировать загруженную электронную таблицу по мере необходимости. Теперь мы собираемся заменить все вхождения «Старое название компании» на «Новое название компании» на первой вкладке электронной таблицы. Следующие шаги позволяют вам соответствующим образом отредактировать файл Excel в C#.
- Загрузите файл Excel с помощью Редактора и [параметров загрузки](https://apireference.groupdocs.com/editor/net/groupdocs.editor.options/опции загрузки электронных таблиц).
- Подготовьте Параметры редактирования электронной таблицы, чтобы извлечь точный лист/вкладку.
- Извлечь содержимое вкладки.
- Изменить содержимое вкладки.
- Вы можете извлечь изображения и все ресурсы из выбранной вкладки.
- Создайте новый EditableDocument, используя измененное содержимое.
- Сохраните таблицу редактирования с помощью соответствующего метода Save().
Следующий исходный код C# редактирует файл Excel и изменяет его содержимое.
// Редактировать электронную таблицу Excel с помощью C#
Options.SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
// loadOptions.Password = "пароль";
// Загрузите электронную таблицу
Editor editor = new Editor("path/spreadsheet.xlsx", delegate { return loadOptions; });
// Получить 1-ю вкладку электронной таблицы
SpreadsheetEditOptions sheetTab1EditOptions = new SpreadsheetEditOptions();
sheetTab1EditOptions.WorksheetIndex = 0; // first worksheet
// Получить разметку HTML из некоторого экземпляра EditableDocument
EditableDocument firstTab = editor.Edit(sheetTab1EditOptions);
string bodyContent = firstTab.GetBodyContent(); // HTML markup from inside the HTML -> BODY element
string allContent = firstTab.GetContent(); // Full HTML markup of all document, with HTML -> HEAD header and all its content
List<IImageResource> onlyImages = firstTab.Images;
List<IHtmlResource> allResourcesTogether = firstTab.AllResources;
string editedContent = allContent.Replace("Company Name", "New Company Name");
EditableDocument afterEdit = EditableDocument.FromMarkup(editedContent, allResourcesTogether);
Сохраните отредактированный файл Excel с параметрами
После редактирования при сохранении отредактированного содержимого электронной таблицы вы можете установить различные параметры. Эти варианты включают в себя; установка пароля, выходного формата, защиты и т. д. Я устанавливаю вышеуказанные параметры в приведенном ниже коде и сохраняю отредактированную электронную таблицу в виде защищенного паролем и защищенного от записи файла XLSX.
// Сохраните файл Excel с обновленным содержимым с помощью C#.
// Создать параметры сохранения
SpreadsheetFormats xlsxFormat = SpreadsheetFormats.Xlsx;
Options.SpreadsheetSaveOptions saveOptions = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsx);
// Установить новый пароль на открытие
saveOptions.Password = "newPassword";
saveOptions.WorksheetProtection = new WorksheetProtection(WorksheetProtectionType.All, "WriteProtectionPassword");
// Создать выходной поток
using (FileStream outputStream = File.Create("path/editedSpreadsheet.xlsx"))
{
editor.Save(afterEdit, outputStream, saveOptions);
}
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы использовать API без ознакомительных ограничений.
Вывод
В заключение мы обсудили, как редактировать документы Excel на C# с помощью API редактирования документов для приложений .NET. Вы можете использовать API с редакторами WYSIWYG для визуального редактирования ваших документов. После этого вы можете перейти к созданию собственного онлайн-редактора электронных таблиц.
Для получения дополнительной информации, вариантов и примеров вы можете посетить документацию и репозиторий GitHub. . По дополнительным вопросам обращайтесь в службу поддержки на форуме.