1.0.28 • Published 5 months ago

exportdatafile v1.0.28

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

Modul ExportData Modul ini memfasilitasi ekspor data ke format Excel PDF dan TXT. Ini mencakup fungsi, ExportData, yang dapat dikonfigurasi untuk menghasilkan laporan berdasarkan data dan konfigurasi kolom yang diberikan. Berikut adalah panduan rinci tentang cara menggunakan modul ini.

Instalasi Untuk menggunakan modul ExportData, Anda perlu menginstalnya di proyek Anda. Anda dapat melakukannya menggunakan npm:

Example Demo

Install

npm i exportdatafile

Fitur

  • Download File .xlsx .txt .pdf format
  • Tidak ada kode sisi server
  • Mudah digunakan
import { ColumnGenarator, ExportData } from "exportdatafile";

const DemoPage = () => {
  interface FakturHutang {
    no_faktur_hutang: string;
    tgl_system: string;
    harga: number;
    berat: number;
    total: number;
    diskon: string;
    input_by: string;
  }
  const data: FakturHutang[] = [
    {
      no_faktur_hutang: "001",
      diskon: "rp",
      tgl_system: "2022-01-01",
      harga: 10000,
      berat: 2,
      total: 20000,
      input_by: "Samsul"
    },
    {
      no_faktur_hutang: "002",
      diskon: "rp",
      tgl_system: "2022-01-01",
      harga: 10000,
      berat: 2,
      total: 20000,
      input_by: "Samsul"
    }
  ];

  const columns: ColumnGenarator<FakturHutang>[] = [
    {
      label: "Tanngal",
      key: "tgl_system"
    },

    {
      label: "Diskon",
      key: "diskon",
      options: {
        halign: "center"
      }
    },
    {
      label: "Harga",
      key: "harga",
      options: {
        format: "RP"
      }
    },
    {
      label: "Berat",
      key: "berat",
      options: {
        format: "GR"
      }
    },

    {
      label: "Total",
      key: "total",
      options: {
        format: "RP"
      }
    }
  ];
  return (
    <div>
      <button
        onClick={() =>
          ExportData({
            type: ["EXCEL"],
            date: {
              start_date: "11-01-2024",
              end_date: "11-01-2024"
            },
            data: data,
            columns: columns,
            grouping: [],
            title: "LAPORAN PDF EXCEL",
            excelSetting: {
              bgColor: "E8E5E5",
              txtColor: "000",
              additionalTextHeader: "Nama Toko \nAlamat Toko",
              grandTotalSetting: {
                colSpan: 2
              },
              customize: (worksheet) => {
                // Menambahkan penyesuaian pada worksheet
                const rows = worksheet.addRow([]);

                rows.getCell(1).value = "Text";
                rows.getCell(1).alignment = { horizontal: "center" };

                // Menggabungkan sel dari kolom A hingga kolom terakhir yang tidak terpakai pada baris tanggal
                worksheet.mergeCells(
                  `A${rows.number}:${String.fromCharCode(64)}${rows.number}`
                );
                rows.eachCell((cell) => {
                  cell.font = {
                    color: { argb: "00000" },
                    bold: true,
                    size: 12
                  };
                }); // Menyesuaikan lebar kolom C
              }
            },
            txtSetting: {
              dataTxt: data,
              titleTxt: "Slip Txt FIle",
              templateTxt: `--------------- SLIP ---------------\nFaktur         = {no_faktur_hutang}\nDiskon         = {diskon}\nTanggal System = {tgl_system}\nHarga          = {harga}\nBerat          = {berat}\nTotal          = {total}\nInput_by       = {input_by}`
            },
            pdfSetting: {
              textHeaderLeft: "Nama Toko \nAlamat Toko",
              orientation: "l",
              unit: "mm",
              bgColor: "E8E5E5",
              txtColor: "000",
              theme: "grid",
              grandTotalSetting: {
                colSpan: 2
              },
              openNewTab: true,
              customize: (doc, finalY, autoTable) => {
                doc.text("Custom Jspdf", 15, finalY + 5);
                if (autoTable) {
                  autoTable(doc, {
                    startY: finalY + 10,
                    head: [["Column 1", "Column 2"]],
                    body: [
                      ["Data 1", "Data 2"],
                      ["Data 3", "Data 4"]
                    ]
                  });
                }
              }
            },
            footerSetting: {
              subTotal: {
                caption: "SUB TOTAL",
                enableCount: true,
                captionItem: "QTY"
              },
              grandTotal: {
                caption: "GRAND TOTAL",
                enableCount: true,
                captionItem: "QTY"
              }
            }
          })
        }
      >
        Export Laporan
      </button>
    </div>
  );
};

export default DemoPage;

Option Daftar properti yang tersedia dapat ditemukan di bawah. Ini harus diteruskan ke komponen ExportData.

Tabel Properti

PropertiTipeDeskripsi
typestring[]Tipe file yang akan diekspor, bisa berupa "PDF", "EXCEL", atau "TXT".
dateobjectObjek yang berisi start_date dan end_date untuk rentang tanggal data yang akan diekspor.
dataarrayData yang akan diekspor dalam bentuk array objek.
columnsarrayDaftar kolom yang akan diekspor beserta label dan pengaturannya.
groupingarrayPengaturan gruping data, kosongkan jika tidak perlu gruping.
titlestringJudul laporan yang akan ditampilkan di file yang diekspor.
excelSettingobjectPengaturan tambahan untuk file Excel seperti warna latar belakang, warna teks, header tambahan, dll.
txtSettingobjectPengaturan tambahan untuk file TXT seperti data template, judul, apakah akan menyalin teks, dll.
pdfSettingobjectPengaturan tambahan untuk file PDF seperti judul, header, orientasi, satuan, tema, dll.
footerSettingobjectPengaturan footer seperti sub total dan grand total.
excelSetting.bgColorstringWarna latar belakang untuk file Excel.
excelSetting.txtColorstringWarna teks untuk file Excel.
excelSetting.additionalTextHeaderstringTeks tambahan untuk header file Excel.
excelSetting.grandTotalSettingobjectPengaturan grand total untuk file Excel.
excelSetting.customizefunctionFungsi untuk menyesuaikan worksheet file Excel.
txtSetting.dataTxtobjectData yang akan diekspor ke file TXT.
txtSetting.titleTxtstringJudul untuk file TXT.
txtSetting.copybooleanApakah teks akan disalin atau tidak.
txtSetting.templateTxtstringTemplate teks untuk file TXT.
pdfSetting.titlePdfstringJudul untuk file PDF.
pdfSetting.textHeaderLeftstringTeks header kiri untuk file PDF.
pdfSetting.orientationstringOrientasi halaman untuk file PDF, bisa "p" (portrait) atau "l" (landscape).
pdfSetting.unitstringSatuan ukuran untuk file PDF, misalnya "mm".
pdfSetting.bgColorstringWarna latar belakang untuk file PDF.
pdfSetting.txtColorstringWarna teks untuk file PDF.
pdfSetting.themestringTema tabel untuk file PDF, misalnya "grid".
pdfSetting.grandTotalSettingobjectPengaturan grand total untuk file PDF.
pdfSetting.openNewTabbooleanApakah file PDF akan dibuka di tab baru atau tidak.
pdfSetting.customizefunctionFungsi untuk menyesuaikan dokumen file PDF.
footerSetting.subTotalobjectPengaturan sub total untuk footer.
footerSetting.subTotal.captionstringCaption untuk sub total.
footerSetting.subTotal.enableCountbooleanApakah jumlah item akan dihitung untuk sub total atau tidak.
footerSetting.subTotal.captionItemstringCaption item untuk sub total.
footerSetting.grandTotalobjectPengaturan grand total untuk footer.
footerSetting.grandTotal.captionstringCaption untuk grand total.
footerSetting.grandTotal.enableCountbooleanApakah jumlah item akan dihitung untuk grand total atau tidak.
footerSetting.grandTotal.captionItemstringCaption item untuk grand total.
1.0.28

5 months ago

1.0.27

5 months ago

1.0.22

7 months ago

1.0.21

7 months ago

1.0.26

6 months ago

1.0.25

7 months ago

1.0.24

7 months ago

1.0.23

7 months ago

1.0.19

7 months ago

1.0.17

7 months ago

1.0.16

7 months ago

1.0.20

7 months ago

1.0.15

7 months ago

1.0.1-3.1

7 months ago

1.0.9

7 months ago

1.0.8

7 months ago

1.0.7

7 months ago

1.0.11

7 months ago

1.0.10

7 months ago

1.0.14

7 months ago

1.0.13

7 months ago

1.0.12

7 months ago

1.0.6

12 months ago

1.0.5

12 months ago

1.0.4

12 months ago

1.0.3

12 months ago

1.0.2

12 months ago

0.0.2

12 months ago

0.0.1

12 months ago