Help us shape the future of Go! Take the 2026 Go Developer Survey

reportexport

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

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.

func ToExcel

func ToExcel(title string, summary [][2]string, headers []string, rows [][]string, chart *ChartData) ([]byte, error)

func ToPDF

func ToPDF(title string, summary [][2]string, headers []string, rows [][]string, chart *ChartData) ([]byte, error)

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).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL