# Формати DOCX та XLSX: коли потрібен повноцінний фінальний документ від ШІ

> Повний практичний посібник з генерації та опрацювання документів DOCX і таблиць XLSX за допомогою ШІ: порівняння з Markdown та CSV, промпт-інжиніринг, робота з формулами та автоматизація в коді.

## 1. Чотири формати — чотири різні задачі: Text, CSV, DOCX та XLSX

Одна з найпоширеніших помилок під час взаємодії зі штучним інтелектом — одразу вимагати: *«Зроби Word-документ»* або *«Вивантаж усе в Excel»*. Розширення файлу саме по собі не додає цінності, якщо обраний формат не відповідає наступному етапу життєвого циклу даних.

```mermaid
flowchart TD
    A["Вхідний запит / Сирі дані"] --> B{"Яка мета використання результату?"}
    B -->|Обговорення, драфт, код, проміжний аналіз| C["Текст / Markdown<br><i>(Максимальна швидкість, гнучкість у чаті)</i>"]
    B -->|Імпорт у БД, міграція, машинний парсинг| D["CSV / JSON<br><i>(Легкий формат, плоска структура даних)</i>"]
    B -->|Презентація клієнту, друк, фірмовий звіт| E["DOCX<br><i>(Стилі, ієрархія H1-H3, колонтитули, брендбук)</i>"]
    B -->|Розрахунки, бізнес-план, щоденний облік| F["XLSX<br><i>(Багатосторінковість, динамічні формули, фільтри)</i>"]
```

### Матриця вибору оптимального формату

| Формат | Коли використовувати | Головні переваги | Коли уникати |
| :--- | :--- | :--- | :--- |
| **Текст / Markdown** | Чернетки, ітеративне обговорення, генерація коду | Миттєва відповідь, відсутність бінарних артефактів | Фінальна звітність для клієнтів і керівництва |
| **CSV** | Вивантаження великих наборів даних (>10 000 рядків), імпорт у CRM | Універсальність, мінімальний розмір | Розрахунки, багатосторінкові звіти, форматування |
| **DOCX** | Регламенти, комерційні пропозиції, методички, договори | Корпоративне верстання, стилі Word, друк | Проміжні нотатки та сирий код |
| **XLSX** | Бюджети, контент-плани, фінансові моделі, дашборди | Робочі формули, підсумки, фільтри, умовне форматування | Простий обмін списками між скриптами |

> [!NOTE]
> Якщо ви просите модель розробити концепцію звіту або структуру курсу, генерувати DOCX зарано: зручніше спочатку відшліфувати текст у чаті та зафіксувати тези. Формати DOCX та XLSX мають з'являтися тоді, коли сам файл стає кінцевим продуктом.

---

## 2. Коли замовляти DOCX: від чернетки до фінального артефакту

DOCX потрібен у тих випадках, коли документ призначений для читання людиною, спільного рецензування в офісному пакеті або офіційного документообігу.

### Що забезпечує DOCX на відміну від простого тексту

1. **Сувора типографічна ієрархія:** Використання семантичних стилів Word (*Заголовок 1*, *Заголовок 2*, *Звичайний текст*), завдяки чому документ автоматично формує клікабельний зміст.
2. **Єдиний візуальний шаблон:** Можливість зміни шрифту або міжрядкового інтервалу у всьому 50-сторінковому документі в один клік через панель стилів.
3. **Оформлення складних таблиць:** Фіксована ширина колонок, зафарбовані шапки та вирівнювання числових значень.
4. **Службова розмітка:** Номери сторінок, колонтитули з назвою проєкту, титульні аркуші та розриви розділів.

![Структура таблиці в документах DOCX та XLSX](/api/guides-media/automation/docx-xlsx-document-formats-for-ai/images/docx-xlsx-document-formats-for-ai-extra-01.webp)

```markdown
| Етап | Відповідальний | Термін |
| :--- | :--- | :--- |
| **Підготовка** | Маркетолог | 3 дні |
| **Перевірка** | Керівник напрямку | 1 день |
| **Публікація** | Контент-менеджер | 1 день |
```

> [!TIP]
> Якщо вам потрібно внести точкові правки в текст одного абзацу — працюйте прямо в чаті. Створювати DOCX варто тоді, коли фінальний документ готовий до передачі стейкхолдерам або збереження в архів.

---

## 3. Складання бездоганного ТЗ для генерації DOCX

Фраза *«Зроби мені гарний файл у Word»* змушує ШІ діяти навмання. Для отримання передбачуваного результату використовуйте інженерний підхід до формування запиту.

```mermaid
flowchart LR
    A["1. Цільова аудиторія та роль"] --> B["2. Жорстка структура розділів"]
    B --> C["3. Внутрішні компоненти (Таблиці/Списки)"]
    C --> D["4. Стилістичні вимоги (Шрифти/Поля)"]
    D --> E["Готовий бізнес-документ DOCX"]
```

### П'ять обов'язкових компонентів промпту

1. **Призначення документа:** Для кого пишеться текст (рада директорів, технічна підтримка, клієнт у B2B-сегменті).
2. **Перелік обов'язкових розділів:** Фіксуйте послідовність: *Титульна сторінка $\rightarrow$ Резюме $\rightarrow$ 4 етапи $\rightarrow$ Ризики $\rightarrow$ Бюджет*.
3. **Вимоги до компонентів:** Що подати маркованим списком, що — нумерованим регламентом, а що — порівняльною таблицею.
4. **Стильовий гайдлайн:** Бажаний шрифт (*Calibri*, *Aptos*, *Inter*), міжрядковий інтервал (1.15) та акцентні кольори для плашок.
5. **Межі недоторканності (для редагування):** Чітка заборона змінювати юридичні формулювання чи специфікації у вхідному тексті.

### Порівняння запитів: слабкий vs точний

:::tabs
@tab Слабкий запит
```text
Зроби регламент роботи відділу продажів у Word.
```
*Результат:* Суцільний текст без стилів, випадкові шрифти, відсутність титульної сторінки, марна витрата часу на ручне переверстування.
@tab Професійне ТЗ
```text
Створи готовий внутрішній регламент у форматі DOCX: «Робота менеджерів у CRM».
Аудиторія: нові працівники відділу B2B-продажів.
Структура:
1. Титульна сторінка з назвою та версією документа.
2. Автоматичний зміст на основі Заголовків 1 та 2 рівнів.
3. Покроковий процес обробки ліда (нумерований список із діями).
4. Таблиця «Статуси угод, обов'язкові поля та дедлайни».
5. Матриця типових помилок і методів їхнього виправлення.
6. Фінальний чек-лист готовності до дзвінка.
Оформлення: стриманий діловий стиль, шрифт Aptos 11pt, поля 2 см, синій акцентний колір (#1E40AF) для шапок таблиць.
```
:::

---

## 4. Коли потрібен XLSX: динамічні дані, аркуші та формули

XLSX обирають у випадках, коли файл має стати живим розрахунковим інструментом, а не статичним зліпком чисел.

### Ознаки того, що вам потрібен саме XLSX:

- Дані вимагають щомісячного оновлення та перерахунку підсумків.
- Необхідно пов'язати кілька джерел через формули (`SUM`, `AVERAGE`, `VLOOKUP`, `XLOOKUP`).
- Проєкт має кілька вимірів (наприклад: окремий аркуш для доходів, витрат та підсумкового дашборду).
- Користувачі застосовуватимуть фільтри за статусами, менеджерами або датами.
- Потрібне умовне форматування для миттєвої візуалізації ризиків (підсвічування прострочених оплат).

```mermaid
flowchart TD
    subgraph Excel_Workbook["Структура робочої книги XLSX"]
        S1["Аркуш 1: 'Вихідні дані'<br><i>(Чистий реєстр угод, дати, суми)</i>"]
        S2["Аркуш 2: 'Розрахунки'<br><i>(Динамічні формули, коефіцієнти, маржа)</i>"]
        S3["Аркуш 3: 'Дашборд'<br><i>(Зведені підсумки, ключові KPI, діаграми)</i>"]
    end
    S1 -->|Посилаються формули| S2
    S2 -->|Агрегує показники| S3
```

---

## 5. XLSX проти CSV: ключові архітектурні відмінності

Через зовнішню схожість табличних представлень розробники-початківці часто плутають ці формати або обирають невідповідний інструмент.

| Параметр | CSV (Comma-Separated Values) | XLSX (Microsoft Excel OpenXML) |
| :--- | :--- | :--- |
| **Природа формату** | Плоский текстовий потік із роздільниками | Архівований пакет XML-файлів і медіа (ZIP) |
| **Багатосторінковість** | Тільки 1 плоский аркуш | Необмежена кількість іменованих аркушів |
| **Підтримка формул** | Відсутня (зберігаються лише сирі рядки) | Повна підтримка обчислювального рушія Excel |
| **Форматування** | Жодного (без кольору, шрифтів, ширини колонок) | Шрифти, межі, заливка, формати чисел/валют |
| **Фільтри та валідація** | Відсутні | Автофільтри, списки вибору, блокування комірок |
| **Обсяг файлу** | Мінімальний (ідеальний для мільйонів рядків) | Більший через службові метадані |

> [!WARNING]
> Якщо зберегти складну багатосторінкову книгу Excel з формулами у формат CSV, усі додаткові аркуші, діаграми та математичні зв'язки будуть безповоротно втрачені!

---

## 6. Інженерія формул, типів даних та умовного форматування в XLSX

Головна перевага якісного файлу XLSX, створеного ШІ, полягає у правильному розділенні сирих даних та обчислювальної логіки.

### Формули замість статичних чисел

Завжди вимагайте від ШІ записувати у підсумкові комірки реальні формули:
- ❌ **Погано:** ШІ сам порахував суму в пам'яті й записав у комірку `D20` число `45200`. (При зміні вихідних цін підсумок залишиться хибним).
-  **Правильно:** ШІ записав у комірку `D20` формулу `=SUM(D2:D19)`. (Таблиця залишається інтерактивною назавжди).

### Сувора типізація даних

Кожна колонка повинна мати чітко призначений формат:
- **Дати:** формат `DD.MM.YYYY` або `YYYY-MM-DD` (щоб Excel сортував хронологічно, а не як текст).
- **Грошові суми:** числовий формат із роздільником тисяч та символом валюти (`12 500,00 ₴` або `$12,500.00`).
- **Відсотки:** числовий формат відсотків (`15.4%`), а не текстовий рядок `"15%"`.

### Динамічне умовне форматування

Автоматичні колірні індикатори допомагають оцінювати стан справ без вичитування сотень рядків:
- Зелений градієнт: виконання плану $\ge 100\%$.
- Червоне підсвічування: сума витрат перевищує ліміт або дедлайн прострочено.

---

## 7. Складання ТЗ для генерації XLSX-таблиць

Щоб отримати від штучного інтелекту зрілу таблицю, сформулюйте п'ять базових блоків вимог.

```mermaid
flowchart TD
    A["1. Архітектура аркушів"] --> B["2. Реєстр стовпців та типи даних"]
    B --> C["3. Математичні формули та зв'язки"]
    C --> D["4. Фільтри, сортування та випадаючі списки"]
    D --> E["5. Зведені підсумки та візуальні діаграми"]
```

### Еталонний промпт для розрахункового файлу

```text
Створи повноцінну робочу книгу XLSX для розрахунку річного бюджету IT-проєкту на 2027 рік.

Структура аркушів:
1. «Параметри»: погодинні ставки спеціалістів, податкові коефіцієнти, курси валют.
2. «Витрати»: реєстр статей (категорія, виконавець, ставка, кількість годин, сума).
3. «Зведення»: помісячний звіт із плановими та фактичними витратами, відхиленнями та % виконання.

Вимоги до обчислень:
- Суму у «Витратах» рахувати через формулу множення годин на ставку з аркуша «Параметри».
- У «Зведенні» використати формули SUMIF/SUMIFS для агрегації за категоріями.
- Додати розрахунок відхилення: =(Факт - План) / План.

Оформлення:
- Закріпити перший рядок (заголовки) на всіх аркушах.
- Увімкнути автофільтри на аркуші «Витрати».
- Грошові значення оформити у валюті USD з двома знаками після коми.
- На аркуші «Зведення» додати стовпчасту діаграму «План vs Факт за місяцями».
```

---

## 8. Робота з шаблонами: створення з нуля vs оновлення існуючих файлів

Створення файлу з чистого аркуша та оновлення вже існуючого корпоративного шаблону — це дві принципово різні інженерні операції.

```mermaid
flowchart LR
    subgraph From_Scratch["Створення з нуля"]
        A1["Опис архітектури"] --> B1["Проєктування сітки"] --> C1["Генерація нового файлу"]
    end
    subgraph By_Template["Робота за шаблоном"]
        A2["Завантаження еталона"] --> B2["Аналіз зв'язків і формул"] --> C2["Акуратне оновлення комірок"]
    end
```

### Правила безпечного оновлення шаблонів

1. **Зафіксуйте недоторканні елементи:** Чітко накажіть моделі: *«Не змінюй назви аркушів, розмір шрифтів, шапки таблиць і формули в колонках F:H»*.
2. **Вкажіть точні межі вставки нових рядків:** Наприклад: *«Додай нові рядки транзакцій у кінець таблиці перед підсумковим рядком 'Разом' і розшир діапазон у формулі SUM»*.
3. **Збереження макросів та підключень:** Якщо оригінальний файл містить скрипти VBA або з'єднання з базами даних, переконайтеся, що обробка не пошкодить бінарні структури книги.

---

## 9. Автоматизація в коді: як ШІ та бекенд генерують DOCX і XLSX

Коли AI-агенти працюють у production-середовищі (наприклад, через Claude Code, LangChain або користувацькі бекенд-сервіси), генерація файлів здійснюється не вручну, а через надійні програмні бібліотеки.

:::tabs
@tab Python (python-docx)
```python
from docx import Document
from docx.shared import Inches, Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH

doc = Document()

# Налаштування стилів документа
title = doc.add_heading("Звіт з продуктивності команди", level=0)
title.alignment = WD_ALIGN_PARAGRAPH.CENTER

p = doc.add_paragraph("Цей документ сформовано автоматично на основі даних за 3 квартал.")
p.runs[0].font.size = Pt(11)

# Додавання таблиці з даними
table = doc.add_table(rows=1, cols=3)
table.style = 'Light Shading Accent 1'
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Спринт'
hdr_cells[1].text = 'Задач закрито'
hdr_cells[2].text = 'Ефективність'

data = [("Sprint 41", "34", "94%"), ("Sprint 42", "41", "98%")]
for sprint, count, eff in data:
    row_cells = table.add_row().cells
    row_cells[0].text = sprint
    row_cells[1].text = count
    row_cells[2].text = eff

doc.save("team_report.docx")
```
@tab Python (openpyxl)
```python
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment

wb = Workbook()
ws = wb.active
ws.title = "Бюджет"

# Створення та стилізація заголовків
headers = ["Категорія", "План ($)", "Факт ($)", "Відхилення ($)"]
ws.append(headers)

header_fill = PatternFill(start_color="1E40AF", end_color="1E40AF", fill_type="solid")
header_font = Font(color="FFFFFF", bold=True)

for col_num in range(1, 5):
    cell = ws.cell(row=1, column=col_num)
    cell.fill = header_fill
    cell.font = header_font
    cell.alignment = Alignment(horizontal="center")

# Додавання рядків даних
rows = [
    ["Сервери AWS", 2500, 2350],
    ["Маркетинг", 5000, 5600],
    ["Підписки на ПЗ", 800, 800],
]

for row_idx, data in enumerate(rows, start=2):
    ws.append([data[0], data[1], data[2], f"=C{row_idx}-B{row_idx}"])

# Підсумковий рядок із формулами
ws.append(["Разом", "=SUM(B2:B4)", "=SUM(C2:C4)", "=SUM(D2:D4)"])
ws.cell(row=5, column=1).font = Font(bold=True)

wb.save("project_budget.xlsx")
```
@tab TypeScript (exceljs)
```typescript
import ExcelJS from 'exceljs';

async function generateSpreadsheet() {
  const workbook = new ExcelJS.Workbook();
  const sheet = workbook.addWorksheet('Sales Data');

  sheet.columns = [
    { header: 'Продукт', key: 'product', width: 25 },
    { header: 'Кількість', key: 'qty', width: 15 },
    { header: 'Ціна за од.', key: 'price', width: 15 },
    { header: 'Разом', key: 'total', width: 18 }
  ];

  sheet.addRow({ product: 'Cloud Gateway License', qty: 5, price: 1200, total: { formula: 'B2*C2' } });
  sheet.addRow({ product: 'Support SLA Tier 1', qty: 1, price: 3500, total: { formula: 'B3*C3' } });

  await workbook.xlsx.writeFile('enterprise_sales.xlsx');
}
```
:::

---

## 10. Протокол верифікації та валідації згенерованих файлів

Ніколи не пересилайте автоматично створені файли клієнтам або партнерам без попередньої інспекції. Перевірте документ за двома спеціалізованими протоколами.

### Протокол контролю якості для DOCX

- [ ] **Семантична структура:** Документ використовує штатні рівні заголовків (*Heading 1*, *Heading 2*), а не просто жирний текст зі збільшеним розміром шрифту.
- [ ] **Цілісність таблиць:** Таблиці не виходять за поля сторінки, текст у комірках не перекривається і не обрізається.
- [ ] **Розриви сторінок:** Відсутні «висячі» заголовки на останньому рядку аркуша без наступного тексту.
- [ ] **Службові поля:** Перевірено нумерацію сторінок (перша сторінка прихована за потреби) та зміст.

### Протокол контролю якості для XLSX

- [ ] **Живі формули:** Підсумкові комірки містять формули (`=SUM()`), а не статичні числа.
- [ ] **Діапазони формул:** Перевірено, що діапазони підсумків охоплюють усі внесені рядки, включно з останнім.
- [ ] **Тест на перерахунок:** Змініть одне базове число — уся модель має автоматично оновити результат.
- [ ] **Формати відображення:** Валютні та відсоткові комірки мають належне форматування без помилок `#VALUE!` або `#REF!`.

---

## 11. Готова бібліотека майстер-промптів та чек-ліст впровадження

Використовуйте ці готові шаблони як перевірену основу для повсякденної автоматизації.

### Майстер-промпт для регламентів і звітів у DOCX

```markdown
Дій як провідний технічний письменник. Створи готовий офіційний документ у форматі DOCX.

Тема: [Вкажіть тему, наприклад: Регламент безпеки віддалених робочих місць]
Цільова аудиторія: [Вкажіть аудиторію]

Структура документа:
1. Титульний аркуш (Назва, версія, автор, дата).
2. Анотація та цілі документа.
3. Нормативні вимоги (нумерований регламент дій).
4. Зведена таблиця: «Загроза | Рівень ризику | Превентивна дія | Відповідальний».
5. Матриця ескалації інцидентів.
6. Фінальний чек-лист самоперевірки для співробітника.

Вимоги до оформлення:
- Шрифт основного тексту: Aptos або Calibri 11pt, міжрядковий інтервал 1.15.
- Стилі заголовків: Heading 1 (18pt, Bold), Heading 2 (14pt, SemiBold).
- Колірна схема таблиць: темно-синій акцент для заголовків, світло-сіре чергування рядків.
- Вбудуй зміст на початку документа.
```

### Майстер-промпт для фінансових моделей у XLSX

```markdown
Дій як фінансовий аналітик. Створи повноцінну розрахункову книгу XLSX для бізнес-плану.

Потрібні наступні окремі аркуші:
1. «Параметри»: вхідні припущення (собівартість, ціна продажу, конверсії, податки).
2. «Продажі»: помісячний прогноз кількості угод та валового доходу за формулами.
3. «OPEX»: перелік операційних витрат за категоріями (оренда, сервери, ФОП).
4. «P&L Зведення»: помісячний звіт про прибутки та збитки (Дохід, Витрати, EBITDA, Чистий прибуток).

Вимоги до логіки:
- Заборонено хардкодити розрахункові значення — усі цифри на аркуші «P&L Зведення» мають посилатися через формули на аркуші «Продажі» та «OPEX».
- Налаштуй грошовий формат USD для всіх фінансових комірок.
- Додай умовне форматування для маржинальності: зелений при >25%, червоний при <10%.
- Створи комбіновану діаграму на аркуші «P&L»: стовпчики — дохід, лінія — чистий прибуток.
```

### Підсумковий чек-лист вибору формату

- [ ] Потрібен текст для переговорів, ідей або узгодження тез $\rightarrow$ **Чат / Markdown**.
- [ ] Потрібні плоскі структуровані дані для імпорту в бази або скрипти $\rightarrow$ **CSV**.
- [ ] Потрібен представницький документ для читання людиною, друку та архіву $\rightarrow$ **DOCX**.
- [ ] Потрібна робоча інтерактивна таблиця з формулами, аналітикою та аркушами $\rightarrow$ **XLSX**.