From 986b9d0b994c1a6afdb6235f5ac387769df373b6 Mon Sep 17 00:00:00 2001 From: muhamad fais aizat Date: Sat, 3 May 2025 14:41:20 +0700 Subject: [PATCH] feat: menambahkan button unduh excel pada testing svr --- .../pages/Panel/TestingSVR/HasilPrediksi.jsx | 21 ++++++++++++++++++- .../pages/Panel/TestingSVR/Preprocessing.jsx | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/Panel/TestingSVR/HasilPrediksi.jsx b/frontend/src/pages/Panel/TestingSVR/HasilPrediksi.jsx index ecd5f660..0a062edf 100644 --- a/frontend/src/pages/Panel/TestingSVR/HasilPrediksi.jsx +++ b/frontend/src/pages/Panel/TestingSVR/HasilPrediksi.jsx @@ -20,7 +20,8 @@ import { PaginationPrevious, } from '@/components/ui/pagination'; import { ScrollArea, ScrollBar } from '@/components/ui/scroll-area'; - +import * as XLSX from 'xlsx'; +import { saveAs } from 'file-saver'; const ITEMS_PER_PAGE = 10; @@ -52,6 +53,21 @@ const HasilPrediksi = ({ result }) => { const startIndex = (currentPage - 1) * ITEMS_PER_PAGE; const endIndex = startIndex + ITEMS_PER_PAGE; const currentData = filteredData.slice(startIndex, endIndex); + + const unduhExcel = () => { + if (dataHarga.length === 0) { + alert("Tidak ada data untuk diunduh."); + return; + } + + const worksheet = XLSX.utils.json_to_sheet(dataHarga); + const workbook = XLSX.utils.book_new(); + XLSX.utils.book_append_sheet(workbook, worksheet, "Data Harga"); + + const excelBuffer = XLSX.write(workbook, { bookType: "xlsx", type: "array" }); + const data = new Blob([excelBuffer], { type: "application/octet-stream" }); + saveAs(data, "hasil_prediksi_data_harga_tomat.xlsx"); + }; return (
@@ -60,6 +76,7 @@ const HasilPrediksi = ({ result }) => {

Hasil memprediksi Harga

Berikut hasil prediksi terhadap data uji:

+
{ }} />
+ +
diff --git a/frontend/src/pages/Panel/TestingSVR/Preprocessing.jsx b/frontend/src/pages/Panel/TestingSVR/Preprocessing.jsx index 70fabd93..4fa98f6a 100644 --- a/frontend/src/pages/Panel/TestingSVR/Preprocessing.jsx +++ b/frontend/src/pages/Panel/TestingSVR/Preprocessing.jsx @@ -69,7 +69,7 @@ const Preprocessing = ({ result }) => { const excelBuffer = XLSX.write(workbook, { bookType: "xlsx", type: "array" }); const data = new Blob([excelBuffer], { type: "application/octet-stream" }); - saveAs(data, "data_harga_tomat.xlsx"); + saveAs(data, "preprocesing_data_harga_tomat.xlsx"); };