Konversi Google Sheets ke Excel dengan Apps Script
Untuk keperluan input nilai Software OBE (Outcome-Based Education) buatan Prof. Agus Naba, yang beralamat di http://anaba.lecture.ub.ac.id/obesoftware/, ternyata diperlukan perubahan susunan data file input excelnya.
Hal ini dimungkinkan karena perubahan output nilai dari Sistem Akademik Universitas, yang semula tidak menyertakan persamaan, menambahkan baris pertama sebagai baris persamaan, dan data nilai-nilai mahasiswa baru dimulai pada baris kedua.
Selain itu, juga diperlukan penambahan sheet Bobot NA, CLO dan PLO setiap file nilai, untuk keperluan penambahan input ke perhitungan.
Karena Prof. Agus Naba belum sempat membuat perbaikan, sehingga file excel input yang seharusnya memiliki susunan seperti Spreadsheet template di link ini, untuk sementara hanya dirubah dengan menghilangkan baris rumus dan memasukkan bobot masing-masing variabel penilaian pada sheet kedua.
Langkah mudahnya, yaitu dengan membuat Spreadsheet dengan menduplicate Spreadsheet template di atas, yang diisi oleh nilai-nilai mahasiswa pada sheet pertama, dan memasukkan bobot assessment yang dihitung manual dan di manajemen sesuai table gambar di bawah ini.
Kemudian setelah file Spreadsheet telah di generate, file tersebut di konversi ke bentuk Excelnya menggunakan kode Apps Script berikut:
Sehingga secara garis besar, yang penulis lakukan adalah membuat file Google Sheet dari masing-masing output nilai Sistem Akademik per matakuliah, sesuai template dan mengkonversinya lagi ke bentuk Excel menggunakan kode di atas, untuk diolah pada Software OBE Prof. Agus Naba.
Hal ini dimungkinkan karena perubahan output nilai dari Sistem Akademik Universitas, yang semula tidak menyertakan persamaan, menambahkan baris pertama sebagai baris persamaan, dan data nilai-nilai mahasiswa baru dimulai pada baris kedua.
Selain itu, juga diperlukan penambahan sheet Bobot NA, CLO dan PLO setiap file nilai, untuk keperluan penambahan input ke perhitungan.
Karena Prof. Agus Naba belum sempat membuat perbaikan, sehingga file excel input yang seharusnya memiliki susunan seperti Spreadsheet template di link ini, untuk sementara hanya dirubah dengan menghilangkan baris rumus dan memasukkan bobot masing-masing variabel penilaian pada sheet kedua.
Langkah mudahnya, yaitu dengan membuat Spreadsheet dengan menduplicate Spreadsheet template di atas, yang diisi oleh nilai-nilai mahasiswa pada sheet pertama, dan memasukkan bobot assessment yang dihitung manual dan di manajemen sesuai table gambar di bawah ini.
Kemudian setelah file Spreadsheet telah di generate, file tersebut di konversi ke bentuk Excelnya menggunakan kode Apps Script berikut:
function getFileAsBlob(exportUrl){ let response = UrlFetchApp.fetch(exportUrl, { muteHttpExceptions: true, headers: { Authorization: 'Bearer ' + ScriptApp.getOAuthToken(), }, }); return response.getBlob(); } function sheetToExcel() { var ss = SpreadsheetApp.openById("idsheemanajemen");//sheet target untuk var so=ss.getSheetByName("Daftar"); var data=so.getRange("A2:J").getValues().map(function(row,index){ if(row[8]!="" && row[9]==""){ row.push(index); } return (row[8]!="" && row[9]=="")?row:null}).filter(function(cellData){return cellData != null;}); if(data.length>0)for(var i=0;i<data.length;i++){ var foldertarget=""; if(data[i][0]=="Ganjil 2021")foldertarget="idfolder1";//Ganjil 2021 else if(data[i][0]=="Genap 2021")foldertarget="idfolder2";//Genap 2021
else if(data[i][0]=="Ganjil 2022")foldertarget="idfolder3";//Ganjil 2022
var blob=getFileAsBlob("https://docs.google.com/feeds/download/spreadsheets/Export?key="+data[i][8]+"&exportFormat=xlsx"); var f=DriveApp.createFile(blob); f.moveTo(DriveApp.getFolderById(foldertarget)); f.setName(data[i][1]+".xlsx"); so.getRange(2+parseInt(data[i][10]),10,1,2).setValues([[f.getId(),f.getUrl()]]); console.log(data[i][1]); } }
Sehingga secara garis besar, yang penulis lakukan adalah membuat file Google Sheet dari masing-masing output nilai Sistem Akademik per matakuliah, sesuai template dan mengkonversinya lagi ke bentuk Excel menggunakan kode di atas, untuk diolah pada Software OBE Prof. Agus Naba.
Komentar
Posting Komentar