Библиотека A4 для .NET
Пакет A4Office для .NET открывает, правит, пересчитывает и сохраняет книги Excel, читает текст документов Word и добавляет слайды в презентации — из программы на C#. Внутри — ядра F1 (таблицы), A4 (документы) и P2 (презентации): ничего не компилируется, не нужны ни Microsoft Office, ни LibreOffice. Пакет подключается своей лентой NuGet с dl.plantype.ru.
Что умеет
- книги
.xlsx,.xlsm,.xlsb,.xls,.ods,.csv: открыть, записать число, текст или формулу, пересчитать, прочитать значение ячейки, сохранить; - документы
.docx: текст одной строкой кода; - презентации
.pptx: открыть, добавить слайд, узнать число слайдов, сохранить.
Пакет A4Office собран для .NET 8 (net8.0). Ядра для Windows x64, macOS (Apple silicon и Intel), Linux x86-64 и aarch64 лежат в самом пакете — .NET берёт нужное сам.
Установка
Пакет ставится из нашей ленты NuGet на сервере загрузок, а не из nuget.org. Подключите ленту и добавьте пакет в проект:
dotnet nuget add source https://dl.plantype.ru/a4office/release/dotnet/v3/index.json -n a4office
dotnet add package A4Office --version 2026.4.3
Лента статическая, поэтому версию указывайте явно — --version 2026.4.3. В файле проекта это строка:
<PackageReference Include="A4Office" Version="2026.4.3" />
Для сети без выхода в интернет скачайте A4Office.2026.4.3.nupkg, положите в папку и подключите её как источник: dotnet nuget add source /путь/к/папке -n a4office-local.
Первый пример
Файлы для примеров: report.xlsx, contract.docx, deck.pptx — или все сразу: curl -O https://tech.bazapp.ru/samples/report.xlsx -O https://tech.bazapp.ru/samples/contract.docx -O https://tech.bazapp.ru/samples/deck.pptx (в Windows — curl.exe). Подойдут и свои файлы.
Открыть книгу, записать ячейку, пересчитать и сохранить; прочитать текст документа; добавить слайд:
using A4Office;
using (var workbook = Office.OpenWorkbook("report.xlsx"))
{
var sheet = workbook.Sheet(workbook.SheetNames.First()); // первый лист
sheet.Set("B11", 41).Set("C11", "=B11+1"); // число, текст, null или формула
workbook.Recalculate();
Console.WriteLine(sheet.Get("C11")); // 42
workbook.Save("report-edited.xlsx");
}
Console.WriteLine(Office.Text("contract.docx"));
using (var deck = Office.OpenPresentation("deck.pptx"))
{
deck.AddSlide().Save("deck-edited.pptx");
Console.WriteLine(deck.SlideCount);
}
Save() без аргумента перезаписывает исходный файл. Ошибки — OfficeException; кончилась квота — LicenseQuotaException. Версия ядер внутри пакета — Office.CoreVersion().
Что бесплатно
| Без ключа | С ключом разработчика | |
|---|---|---|
| Документов в сутки | 30 | 10 000 |
| Срок | без срока | 90 дней с выдачи |
| Когда квота кончилась | сразу исключение LicenseQuotaException со ссылкой на этот раздел; без ожидания и без замедления | |
Квоту платят открытие и сохранение файла в любом из трёх ядер — книги, документы и презентации считаются вместе; правки внутри открытого файла, сколько бы ячеек вы ни меняли, не считаются. Чтобы получить ключ разработчика, напишите нам: вместе с ключом пришлём, как подключить его к вашей программе.
Где считается: в файле ~/.layers/a4office-state.json, а если задана переменная A4OFFICE_STATE_DIR — в этом каталоге. Ключ ищется по порядку: переменная A4OFFICE_LICENSE, файл из A4OFFICE_LICENSE_FILE, файл ~/.layers/license.jws. Ключ в последнем действует на все запуски на этой машине, и бесплатные 30 тогда не считаются; проверить бесплатный режим на такой машине — направить A4OFFICE_LICENSE_FILE на пустой файл.
Чего нет
- просмотрщика и редактора в браузере: показать документ людям — Сервер A4;
- преобразования в PDF и картинок страниц;
- документы Word в коротком API только читаются; правка — через низкоуровневый
Session; - макросы VBA не исполняются.
Показать документ людям
Библиотека создаёт и меняет файлы внутри вашей программы. Просмотрщика и редактора в браузере в ней нет: Office.View() отвечает, где взять сервер, и ссылкой на его страницу. Показать документы людям и дать их править — задача остальных изделий A4:
- В браузере — Сервер A4. Файлы, которые создаёт ваша программа, открываются в редакторах A4, F1 и P2 (презентации) на сервере организации; правка возвращается новой версией. Сервер A4; подключение к 1С и Битрикс24.
- На компьютере — настольные редакторы. A4, F1 и P2 для Windows, macOS и Linux. Скачать.
- Из почты и учётных программ — A4 Office. Вложение или файл из 1С открывается в редакторе на компьютере и возвращается обратно. A4 Office на компьютере.
- Внутри вашего продукта. Те же редакторы, встроенные в ваше приложение, — для партнёров: мобильный SDK; напишите нам.
Скачать
| Файл | Размер | Что это |
|---|---|---|
A4Office.2026.4.3.nupkg | 236 199 967 байт | пакет NuGet целиком, для папки-источника |
v3/index.json | 225 байт | вход ленты NuGet v3 |
v3-flatcontainer/a4office/index.json | 36 байт | список версий пакета |
v3-flatcontainer/a4office/2026.4.3/a4office.2026.4.3.nupkg | 236 199 967 байт | тот же пакет — по адресу ленты |
v3-flatcontainer/a4office/2026.4.3/a4office.nuspec | 664 байт | описание пакета |
v3-flatcontainer/a4office/2026.4.3/a4office.2026.4.3.nupkg.sha512 | 89 байт | SHA-512 пакета для NuGet |
SHA256SUMS | 629 байт | контрольные суммы |
Контрольные суммы
d3f3ec14dc70683b553cc04e4712dfc1fadbee7d0926f2d100c3a366b58fd74d A4Office.2026.4.3.nupkg
d3f3ec14dc70683b553cc04e4712dfc1fadbee7d0926f2d100c3a366b58fd74d v3-flatcontainer/a4office/2026.4.3/a4office.2026.4.3.nupkg
5fcfc4a4d45738478c47ad786c16a8cd510af6c493de6fc87b9cdd874c64356b v3-flatcontainer/a4office/2026.4.3/a4office.2026.4.3.nupkg.sha512
931fe379b72db0992c57bc42f4610c9beaf64fded5ebee272bd9cee4bd2b6102 v3-flatcontainer/a4office/2026.4.3/a4office.nuspec
ff36a8bf0ee29cf44b010825a675d13c7447e3553cd77312fa2b8ac4e27e2e3e v3-flatcontainer/a4office/index.json
a9ea412f25ee2b052bbe976c134711af30e61a6e7f559c742ac598c3b752dffb v3/index.json
Проверка после скачивания (из папки, где лежат файлы с теми же путями):
shasum -a 256 -c SHA256SUMS