Senin, 12 Juli 2021

Membuat Laporan Dalam File CSV Pada Django

Isi Konten

Pengertian Laporan

Bahan-bahan yang Diperlukan

Laporan dalam File CSV

Proses Pembuatan

Tips dan trik tambahan

Artikel ini menjelaskan cara pembuatan laporan dalam bentuk csv. Pada beberapa projek,laporan merupakan hal yang wajib ada. Apalagi kalau sudah pada tahap pengolahan data dan penganalisaan data untuk keperluan dokumentasi atau membuat target.

Dalam django kita memang sangatlah bisa merepresentsikan data tersebut dalam bentuk halaman web. Tetapi ada sebagian data yang harus benar-benar diolah dan dijadikan file csv atau pdf untuk keperluan dokumentasi maupun pem-backupan data.

Pengertian Laporan

Laporan adalah suatu bentuk penyampaian berita, keterangan, pemberitahuan ataupun pertanggung jawaban baik secara lisan maupun secara tertulis dari bawahan kepada atasan. Salah satu cara pelaksanaan komunikasi dari pihak yang satu kepada pihak yang lainnya.

Bahan-bahan yang Diperlukan

Django 3.2

Project Api

Console atau Command Prompt

TextEditor

Secangkir kopi atau teh atau coklat panas

Laporan dalam File CSV

CSV merupakan singkatan dari comma-separated value adalah file yang berbentuk text yang menggunakan koma untuk memisahkan nilai-nilainya. Setiap baris file biasanya adalah rekaman data.

File csv biasanya diolah kembali menggunakan excel yang merupakan pengolahan data dalam bentuk angka.

Bagaimana cara membuatnya pada django? Disini saya membuat dua cara yang mudah untuk membuatnya.

Proses Pembuatan

Pada proses ini saya menggunakan template django untuk membuat laporan ini, sebelumnya kita harus membuat project dan applikasi api yang akan kita buatkan menjadi laporan dalam bentuk csv. Setelah selesai membuatnya kita harus membuat

 suatu fungsi pada file views di folder api dengan menambahkan kode berikut.


....

from django.http import HttpResponse

from django.template import loader


@method_decorator(csrf_exempt, name='dispatch')


class ShoppingCart(View):

......



def csv_report(request):

    # Create the HttpResponse object with the appropriate CSV header.

    data=CartItem.objects.all()

    response = HttpResponse(

        content_type='text/csv',

        headers={'Content-Disposition': 'attachment; filename="somefilename.csv"'},

    )

    t = loader.get_template('template_csv.txt')

    c = {'data': data}

    response.write(t.render(c))

    return response

fungsi csv_report akan membuat file somefile.csv dan memuat template template_csv.txt yang akan memodifikasi tampilan laporan yang dibuat.

Bila sudah selesai memodifikasi file tersebut,kita akan mengubah file urls.py dengan menambahkan kode ini untuk digunakan pada url yang akan mendownload laporannya.

path ('csvreport/',views.csv_report,name='csvreport'),

Kemudian kita buat templatenya di folder templates dengan nama file template_csv.txt dengan isi filenya


Informasi Penjualan Produk


"Nama Produk","Harga","Qty"

{% for row in data %}"{{ row.product_name|addslashes }}", {{ row.product_price|addslashes }}, {{ row.product_quantity|addslashes }}

{% endfor %}

dibuat oleh yusuf abdulloh


Jalankan server django dengan perintah

python manage.py runserver

Buka browser kamu lalu pergi ke url localhost:8000/csvreport/

maka kamu akan melihat popup untuk mendownload file yang bernama somefile.csv. Downloadlah file tersebut lalu buka dengan applikasi excel maka tampilanya akan seperti ini. File somefile.csv menampilkan data yang ada pada tabel ChartItem di database api.

Tips dan trik tambahan

#Modifikasilah namafile csvmu dengan nama yang kamu inginlan tetapi biasanya menggunakan nama sesuai tanggal laporan tersebut dibuat.

#Ganti tampilan csv file dengan mengedit file template_csv.txt pada folder templates.

Semoga berhasil

Untuk melihat Daftar Isi Pemrograman Python lainya.

sumber wiki dan django

4 komentar: