Библиотека A4 для .NET
Пакет A4Office для .NET открывает, правит, пересчитывает и сохраняет книги Excel, читает текст документов Word и добавляет слайды в презентации — из программы на C#. Внутри — ядра A4 Таблица, A4 Документ и A4 Презентация: ничего не компилируется, не нужны ни 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.5
Лента статическая, поэтому версию указывайте явно — --version 2026.4.5. В файле проекта это строка:
<PackageReference Include="A4Office" Version="2026.4.5" />
Для сети без выхода в интернет скачайте A4Office.2026.4.5.nupkg, положите в папку и подключите её как источник: dotnet nuget add source /путь/к/папке -n a4office-local.
Первый пример
Файлы для примеров: report.xlsx (открыть в A4 Таблице), contract.docx (открыть в A4 Документе), deck.pptx (открыть в A4 Презентации) — или все сразу: curl -O https://tech.plantype.ru/samples/report.xlsx -O https://tech.plantype.ru/samples/contract.docx -O https://tech.plantype.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 Документ, A4 Таблица и A4 Презентация на сервере организации; правка возвращается новой версией. Сервер A4; подключение к 1С и Битрикс24.
- На компьютере — настольные редакторы. A4 Документ, A4 Таблица и A4 Презентация для Windows, macOS и Linux. Скачать.
- Из почты и учётных программ — A4 Office. Вложение или файл из 1С открывается в редакторе на компьютере и возвращается обратно. A4 Office на компьютере.
- Внутри вашего продукта. Те же редакторы, встроенные в ваше приложение, — для партнёров: мобильный SDK; напишите нам.
Скачать
| Файл | Размер | Что это |
|---|---|---|
A4Office.2026.4.5.nupkg | 228 839 984 байт | пакет NuGet целиком, для папки-источника |
v3/index.json | 225 байт | вход ленты NuGet v3 |
v3-flatcontainer/a4office/index.json | 68 байт | список версий пакета |
v3-flatcontainer/a4office/2026.4.5/a4office.2026.4.5.nupkg | 228 839 984 байт | тот же пакет — по адресу ленты |
v3-flatcontainer/a4office/2026.4.5/a4office.nuspec | 729 байт | описание пакета |
v3-flatcontainer/a4office/2026.4.5/a4office.2026.4.5.nupkg.sha512 | 89 байт | SHA-512 пакета для NuGet |
SHA256SUMS | 1 557 байт | контрольные суммы |
Контрольные суммы
00c52fa107dc414a3d69392bec0ba3a26245591900abf9393fe424e6e0d7a578 A4Office.2026.4.5.nupkg
00c52fa107dc414a3d69392bec0ba3a26245591900abf9393fe424e6e0d7a578 v3-flatcontainer/a4office/2026.4.5/a4office.2026.4.5.nupkg
348f30ec3b0d6ff01cf8b53738eda782c19214d960bab260062db660db7ce53f v3-flatcontainer/a4office/2026.4.5/a4office.2026.4.5.nupkg.sha512
8e0bed188995a4ff247c8e6f6950aed71cf3e6a9b4674ece8673e1af3d8ac168 v3-flatcontainer/a4office/2026.4.5/a4office.nuspec
499b1407464f5f4017d2f96ef65db9227cf4847e90423bb7fac0f5a4f1027e08 v3-flatcontainer/a4office/index.json
499b1407464f5f4017d2f96ef65db9227cf4847e90423bb7fac0f5a4f1027e08 v3/index.json
Проверка после скачивания (из папки, где лежат файлы с теми же путями):
shasum -a 256 -c SHA256SUMS