# Formaty DOCX i XLSX: kiedy potrzebny jest pełnoprawny dokument końcowy od AI

> Kompletny praktyczny przewodnik po generowaniu i przetwarzaniu dokumentów DOCX oraz arkuszy XLSX za pomocą AI: porównanie z Markdown i CSV, inżynieria promptów, praca z formułami oraz automatyzacja w kodzie.

## 1. Cztery formaty – cztery różne zadania: Text, CSV, DOCX i XLSX

Jednym z najczęstszych błędów podczas pracy ze sztuczną inteligencją jest natychmiastowe żądanie: *„Stwórz dokument Word”* lub *„Wyeksportuj wszystko do Excela”*. Rozszerzenie pliku samo w sobie nie dodaje wartości, jeśli wybrany format nie odpowiada kolejnemu etapowi cyklu życia danych.

```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>"]
```

### Macierz wyboru optymalnego formatu

| Format | Kiedy stosować | Główne zalety | Kiedy unikać |
| :--- | :--- | :--- | :--- |
| **Tekst / Markdown** | Szkice, iteracyjne dyskusje, generowanie kodu | Natychmiastowa odpowiedź, brak artefaktów binarnych | Finalne raporty dla klientów i zarządu |
| **CSV** | Eksport dużych zbiorów danych (>10 000 wierszy), import do CRM | Uniwersalność, minimalny rozmiar | Obliczenia, wielostronicowe raporty, formatowanie |
| **DOCX** | Regulaminy, oferty handlowe, podręczniki, umowy | Typografia korporacyjna, style Word, druk | Notatki robocze i surowy kod |
| **XLSX** | Budżety, plany treści, modele finansowe, dashboardy | Działające formuły, podsumowania, filtry, formatowanie warunkowe | Prosta wymiana list między skryptami |

> [!NOTE]
> Jeśli prosisz model o opracowanie koncepcji raportu lub struktury kursu, generowanie DOCX jest przedwczesne: wygodniej jest najpierw dopracować tekst w czacie i ustalić tezy. Formaty DOCX oraz XLSX powinny pojawiać się dopiero wtedy, gdy sam plik staje się finalnym produktem.

---

## 2. Kiedy zamawiać DOCX: od szkicu do finalnego artefaktu

DOCX jest potrzebny w przypadkach, gdy dokument ma być czytany przez człowieka, recenzowany wspólnie w pakiecie biurowym lub wykorzystywany w oficjalnym obiegu dokumentów.

### Co zapewnia DOCX w odróżnieniu od zwykłego tekstu

1. **Ścisła hierarchia typograficzna:** Wykorzystanie semantycznych stylów Word (*Nagłówek 1*, *Nagłówek 2*, *Tekst zwykły*), dzięki czemu dokument automatycznie tworzy klikalny spis treści.
2. **Jednolity szablon wizualny:** Możliwość zmiany czcionki lub interlinii w całym 50-stronicowym dokumencie jednym kliknięciem poprzez panel stylów.
3. **Formatowanie złożonych tabel:** Stała szerokość kolumn, kolorowane nagłówki i wyrównanie wartości liczbowych.
4. **Elementy służbowe:** Numery stron, stopki/nagłówki z nazwą projektu, strony tytułowe oraz podziały sekcji.

![Struktura tabeli w dokumentach DOCX i XLSX](/api/guides-media/automation/docx-xlsx-document-formats-for-ai/images/docx-xlsx-document-formats-for-ai-extra-01.webp)

```markdown
| Etap | Odpowiedzialny | Termin |
| :--- | :--- | :--- |
| **Przygotowanie** | Specjalista ds. marketingu | 3 dni |
| **Weryfikacja** | Kierownik działu | 1 dzień |
| **Publikacja** | Content manager | 1 dzień |
```

> [!TIP]
> Jeśli musisz wprowadzić punktowe poprawki w tekst jednego akapitu – pracuj bezpośrednio w czacie. Tworzenie DOCX warto rozważyć dopiero wtedy, gdy finalny dokument jest gotowy do przekazania interesariuszom lub archiwizacji.

---

## 3. Tworzenie bezbłędnego briefu do generowania DOCX

Fraza *„Zrób mi ładny plik w Wordzie”* zmusza AI do działania na chybił trafił. Aby uzyskać przewidywalny rezultat, zastosuj inżynieryjne podejście do formułowania promptu.

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

### Pięć obowiązkowych komponentów promptu

1. **Przeznaczenie dokumentu:** Dla kogo piszesz tekst (rada dyrektorów, wsparcie techniczne, klient B2B).
2. **Lista obowiązkowych sekcji:** Ustal kolejność: *Strona tytułowa $\rightarrow$ Streszczenie $\rightarrow$ 4 etapy $\rightarrow$ Ryzyka $\rightarrow$ Budżet*.
3. **Wymogi dotyczące elementów:** Co ma być wypunktowaniem, co numerowaną procedurą, a co tabelą porównawczą.
4. **Wytyczne stylistyczne:** Preferowana czcionka (*Calibri*, *Aptos*, *Inter*), interlinia (1.15) oraz kolory akcentowe dla bloków.
5. **Granice nietykalności (przy edycji):** Jasny zakaz zmieniania sformułowań prawnych lub specyfikacji w tekście wejściowym.

### Porównanie zapytań: słaby vs precyzyjny

:::tabs
@tab Słabe zapytanie
```text
Przygotuj regulamin pracy działu sprzedaży w programie Word.
```
*Rezultat:* Ciągły tekst bez stylów, losowe czcionki, brak strony tytułowej, zmarnowany czas na ręczną przebudowę układu.
@tab Profesjonalny brief
```text
Stwórz gotowy wewnętrzny regulamin w formacie DOCX: „Praca menedżerów w systemie CRM”.
Grupa docelowa: nowi pracownicy działu sprzedaży B2B.
Struktura:
1. Strona tytułowa z nazwą i wersją dokumentu.
2. Automatyczny spis treści oparty na nagłówkach 1. i 2. poziomu.
3. Proces krok po kroku obsługi leada (ponumerowana lista z czynnościami).
4. Tabela „Statusy transakcji, pola obowiązkowe oraz terminy”.
5. Macierz typowych błędów i metod ich korekty.
6. Finalna checklista gotowości do rozmowy telefonicznej.
Formatowanie: stonowany styl biznesowy, czcionka Aptos 11 pt, marginesy 2 cm, niebieski kolor akcentowy (#1E40AF) dla nagłówków tabel.
```
:::

---

## 4. Kiedy potrzebny jest XLSX: dynamiczne dane, arkusze i formuły

XLSX wybiera się w przypadkach, gdy plik ma stać się żywym narzędziem obliczeniowym, a nie statycznym zrzutem liczb.

### Sygnały, że potrzebujesz właśnie XLSX:

- Dane wymagają miesięcznej aktualizacji i przeliczania podsumowań.
- Konieczne jest powiązanie kilku źródeł za pomocą formuł (`SUM`, `AVERAGE`, `VLOOKUP`, `XLOOKUP`).
- Projekt ma wiele wymiarów (np.: osobny arkusz dla przychodów, kosztów i finalnego dashboardu).
- Użytkownicy będą stosować filtry według statusów, menedżerów lub dat.
- Wymagane jest formatowanie warunkowe do natychmiastowej wizualizacji ryzyka (podświetlenie opóźnionych płatności).

```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 kontra CSV: kluczowe różnice architektoniczne

Ze względu na zewnętrzne podobieństwo reprezentacji tabelarycznych początkujący deweloperzy często mylą te formaty lub wybierają niewłaściwe narzędzie.

| Parametr | CSV (Comma-Separated Values) | XLSX (Microsoft Excel OpenXML) |
| :--- | :--- | :--- |
| **Natura formatu** | Płaski strumień tekstu z separatorami | Skompresowany pakiet plików XML i mediów (ZIP) |
| **Wielostronnicowość** | Tylko 1 płaski arkusz | Nieograniczona ilość nazwanych arkuszy |
| **Obsługa formuł** | Brak (zapisywane są tylko surowe wiersze) | Pełna obsługa silnika obliczeniowego Excel |
| **Formatowanie** | Żadne (bez kolorów, czcionek, szerokości kolumn) | Czcionki, obramowania, wypełnienia, formaty liczb/walut |
| **Filtry i walidacja** | Brak | Autofiltry, listy rozwijane, blokady komórek |
| **Rozmiar pliku** | Minimalny (idealny dla milionów wierszy) | Większy ze względu na metadane systemowe |

> [!WARNING]
> Jeśli zapiszesz złożoną, wieloarkuszową książkę Excel z formułami w formacie CSV, wszystkie dodatkowe arkusze, wykresy i powiązania matematyczne zostaną nieodwracalnie utracone!

---

## 6. Inżynieria formuł, typów danych i formatowania warunkowego w XLSX

Główną przewagą wysokiej jakości pliku XLSX stworzonego przez AI jest prawidłowe oddzielenie surowych danych od logiki obliczeniowej.

### Formuły zamiast statycznych liczb

Zawsze wymagaj od AI zapisywania w komórkach podsumowujących rzeczywistych formuł:
- ❌ **Źle:** AI samodzielnie policzyło sumę w pamięci i zapisało w komórce `D20` liczbę `45200`. (Po zmianie cen wyjściowych podsumowanie pozostanie błędne).
- ✅ **Dobrze:** AI zapisało w komórce `D20` formułę `=SUM(D2:D19)`. (Tabela pozostaje interaktywna na zawsze).

### Ścisłe typowanie danych

Każda kolumna powinna mieć wyraźnie przypisany format:
- **Daty:** format `DD.MM.YYYY` lub `YYYY-MM-DD` (aby Excel sortował chronologicznie, a nie jako tekst).
- **Kwoty pieniężne:** format liczbowy z separatorem tysięcy i symbolem waluty (`12 500,00 zł` lub `$12,500.00`).
- **Procenty:** format liczbowy procentowy (`15.4%`), a nie ciąg znaków `"15%"`.

### Dynamiczne formatowanie warunkowe

Automatyczne wskaźniki kolorystyczne pomagają ocenić stan rzeczy bez przeglądania setek wierszy:
- Zielony gradient: realizacja planu $\ge 100\%$.
- Czerwone podświetlenie: suma wydatków przekracza limit lub termin został przekroczony.

---

## 7. Tworzenie briefu do generowania tabel XLSX

Aby otrzymać od sztucznej inteligencji dojrzałą tabelę, sformułuj pięć podstawowych bloków wymagań.

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

### Referencyjny prompt dla pliku obliczeniowego

```text
Utwórz kompletny skoroszyt XLSX do obliczania rocznego budżetu projektu IT na rok 2027.

Struktura arkuszy:
1. „Parametry”: stawki godzinowe specjalistów, współczynniki podatkowe, kursy walut.
2. „Koszty”: rejestr pozycji (kategoria, wykonawca, stawka, liczba godzin, kwota).
3. „Podsumowanie”: raport miesięczny z planowanymi i rzeczywistymi wydatkami, odchyleniami oraz % realizacji.

Wymagania dotyczące obliczeń:
- Kwotę w arkuszu „Koszty” obliczaj za pomocą formuły mnożącej liczbę godzin przez stawkę z arkusza „Parametry”.
- W arkuszu „Podsumowanie” użyj formuł SUMIF/SUMIFS do agregacji według kategorii.
- Dodaj obliczenie odchylenia: =(Rzeczywiste - Planowane) / Planowane.

Formatowanie:
- Zamroź pierwszy wiersz (nagłówki) we wszystkich arkuszach.
- Włącz filtry automatyczne w arkuszu „Koszty”.
- Sformatuj wartości pieniężne jako waluta USD z dwoma miejscami po przecinku.
- W arkuszu „Podsumowanie” dodaj wykres słupkowy „Plan vs Rzeczywiste w ujęciu miesięcznym”.
```

---

## 8. Praca z szablonami: tworzenie od zera vs aktualizacja istniejących plików

Tworzenie pliku od czystej kartki oraz aktualizacja już istniejącego szablonu korporacyjnego to dwie zasadniczo różne operacje inżynieryjne.

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

### Zasady bezpiecznej aktualizacji szablonów

1. **Utrwal elementy nietykalne:** Jasno poleć modelowi: *„Nie zmieniaj nazw arkuszy, rozmiaru czcionek, nagłówków tabel ani formuł w kolumnach F:H”*.
2. **Podaj dokładne granice wstawiania nowych wierszy:** Np.: *„Dodaj nowe wiersze transakcji na końcu tabeli przed wierszem podsumowującym 'Suma' i rozszerz zakres w formule SUM”*.
3. **Zachowanie makr i połączeń:** Jeśli oryginalny plik zawiera skrypty VBA lub połączenia z bazami danych, upewnij się, że przetwarzanie nie uszkodzi struktur binarnych książki.

---

## 9. Automatyzacja w kodzie: jak AI i backend generują DOCX i XLSX

Gdy agenci AI działają w środowisku produkcyjnym (np. poprzez Claude Code, LangChain lub własne usługi backendowe), generowanie plików odbywa się nie ręcznie, ale poprzez niezawodne biblioteki programistyczne.

:::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. Protokół weryfikacji i walidacji wygenerowanych plików

Nigdy nie wysyłaj automatycznie utworzonych plików klientom lub partnerom bez wcześniejszej inspekcji. Sprawdź dokument według dwóch specjalistycznych protokołów.

### Protokół kontroli jakości dla DOCX

- [ ] **Struktura semantyczna:** Dokument używa standardowych poziomów nagłówków (*Heading 1*, *Heading 2*), a nie jedynie pogrubionego tekstu ze zwiększonym rozmiarem czcionki.
- [ ] **Integralność tabel:** Tabele nie wychodzą poza marginesy strony, tekst w komórkach nie nakłada się ani nie jest ucinany.
- [ ] **Podziały stron:** Brak „wiszących” nagłówków na ostatnim wierszu strony bez następującego po nich tekstu.
- [ ] **Pola systemowe:** Zweryfikowano numerację stron (pierwsza strona ukryta w razie potrzeby) oraz spis treści.

### Protokół kontroli jakości dla XLSX

- [ ] **Żywe formuły:** Komórki podsumowujące zawierają formuły (`=SUM()`), a nie statyczne liczby.
- [ ] **Zakresy formuł:** Zweryfikowano, czy zakresy podsumowań obejmują wszystkie wprowadzone wiersze, łącznie z ostatnim.
- [ ] **Test przeliczenia:** Zmień jedną liczbę bazową – cały model powinien automatycznie zaktualizować wynik.
- [ ] **Formaty wyświetlania:** Komórki walutowe i procentowe mają właściwe formatowanie bez błędów `#VALUE!` lub `#REF!`.

---

## 11. Gotowa biblioteka master-promptów i check-list wdrożenia

Wykorzystaj te gotowe szablony jako sprawdzoną podstawę do codziennej automatyzacji.

### Master-prompt dla regulaminów i raportów w DOCX

```markdown
Działaj jako wiodący specjalista ds. dokumentacji technicznej. Utwórz gotowy oficjalny dokument w formacie DOCX.

Temat: [Podaj temat, np.: Regulamin bezpieczeństwa stanowisk pracy zdalnej]
Grupa docelowa: [Określ grupę odbiorców]

Struktura dokumentu:
1. Strona tytułowa (Tytuł, wersja, autor, data).
2. Streszczenie i cele dokumentu.
3. Wymagania normatywne (numerowany regulamin postępowania).
4. Zbiorcza tabela: „Zagrożenie | Poziom ryzyka | Działanie prewencyjne | Osoba odpowiedzialna”.
5. Macierz eskalacji incydentów.
6. Finalna lista kontrolna samooceny dla pracownika.

Wymagania dotyczące formatowania:
- Czcionka tekstu głównego: Aptos lub Calibri 11 pt, interlinia 1,15.
- Style nagłówków: Heading 1 (18 pt, pogrubiony), Heading 2 (14 pt, półpogrubiony).
- Schemat kolorystyczny tabel: ciemnoniebieski akcent dla nagłówków, jasnoszare naprzemienne rzędy.
- Umieść spis treści na początku dokumentu.
```

### Master-prompt dla modeli finansowych w XLSX

```markdown
Działaj jako analityk finansowy. Utwórz kompletny arkusz kalkulacyjny XLSX dla planu biznesowego.

Wymagane są następujące osobne arkusze:
1. „Parametry”: założenia wejściowe (koszt własny, cena sprzedaży, konwersje, podatki).
2. „Sprzedaż”: prognoza miesięczna liczby transakcji oraz przychodu brutto na podstawie formuł.
3. „OPEX”: wykaz kosztów operacyjnych według kategorii (czynsz, serwery, wynagrodzenia).
4. „Rachunek Zysków i Strat (P&L)”: miesięczne zestawienie zysków i strat (Przychód, Koszty, EBITDA, Zysk netto).

Wymagania dotyczące logiki:
- Zakazane jest wpisywanie sztywnych wartości obliczeniowych – wszystkie liczby na arkuszu „Rachunek Zysków i Strat (P&L)” muszą odwoływać się przez formuły do arkuszy „Sprzedaż” oraz „OPEX”.
- Ustaw format walutowy USD dla wszystkich komórek finansowych.
- Dodaj formatowanie warunkowe dla marży: zielony kolor przy wartości powyżej 25%, czerwony przy wartości poniżej 10%.
- Utwórz wykres kombinowany na arkuszu „Rachunek Zysków i Strat (P&L)”: słupki – przychód, linia – zysk netto.
```

### Podsumowujący check-list wyboru formatu

- [ ] Potrzebny tekst do negocjacji, pomysłów lub uzgadniania tez $\rightarrow$ **Czat / Markdown**.
- [ ] Potrzebne płaskie dane strukturalne do importu do baz lub skryptów $\rightarrow$ **CSV**.
- [ ] Potrzebny reprezentacyjny dokument do czytania przez człowieka, druku i archiwum $\rightarrow$ **DOCX**.
- [ ] Potrzebna robocza, interaktywna tabela z formułami, analityką i arkuszami $\rightarrow$ **XLSX**.