Documentation
¶
Index ¶
- func ToDocx(title string, summary [][2]string, headers []string, rows [][]string, ...) ([]byte, error)
- func ToExcel(title string, summary [][2]string, headers []string, rows [][]string, ...) ([]byte, error)
- func ToPDF(title string, summary [][2]string, headers []string, rows [][]string, ...) ([]byte, error)
- type ChartData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ToDocx ¶ added in v0.0.5
func ToDocx(title string, summary [][2]string, headers []string, rows [][]string, chart *ChartData, chartInsight string) ([]byte, error)
ToDocx membuat file .docx (kop surat + ringkasan + "Analisa Data" + tabel) tanpa dependensi eksternal — format DOCX pada dasarnya adalah arsip ZIP berisi beberapa file XML (OOXML/WordprocessingML). Kita rakit langsung 3 bagian wajibnya (Content_Types, root relationship, dan word/document.xml) memakai archive/zip bawaan Go, jadi tidak perlu `go get` library docx pihak ketiga yang belum pasti bisa di-resolve di semua lingkungan build.
Tampilan disamakan dengan pkg/reportexport/pdf.go (pita hijau tua di atas berisi "WMS-RSD", judul laporan rata kiri, tabel header abu-abu, bar chart "Analisa Data") — SESUAI PERMINTAAN EKSPLISIT supaya unduhan PDF & Word terlihat konsisten. `chartInsight` tetap diterima terpisah dari `chart` (bukan dihitung ulang di sini) karena rumus ringkasannya (total/rata-rata/tertinggi/terendah) sudah ada di internal/controller/laporan (ChartData.Insight()) — reportexport sengaja tidak boleh bergantung balik ke internal/, lihat catatan di pdf.go soal ChartData didefinisikan ulang.
SATU KETERBATASAN JUJUR: pita hijau di BAWAH (footer berulang tiap halaman) di PDF TIDAK direplikasi persis di sini — footer berulang asli OOXML butuh bagian file terpisah (word/footer1.xml + relationship + rujukan di sectPr) yang menambah kerumitan & risiko file korup kalau salah satu potongannya meleset, sedangkan bagian ini dirakit manual tanpa alat bantu Word untuk validasi. Sebagai gantinya, tagline yang sama ditulis sebagai paragraf penutup biasa di akhir dokumen — tetap ada infonya, cuma tidak berulang di tiap halaman seperti PDF.
Types ¶
type ChartData ¶ added in v0.0.6
type ChartData struct {
Title string
Type string // "bar" | "line" — saat ini keduanya digambar sebagai bar chart sederhana di PDF/Excel
Labels []string
Values []float64
}
ChartData — hasil agregasi "Analisa Data" yang disisipkan ke file unduhan. Sengaja didefinisikan ULANG di sini (bukan import paket internal/controller/laporan) supaya pkg/reportexport tetap paket mandiri tanpa dependensi balik ke internal/ (pkg/ dirancang bisa dipakai controller manapun, tidak boleh bergantung ke satu controller spesifik).