This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
clc; | |
% sebelum menjalankan program ini perlu diingat hirarki dari sebuah file | |
% spreadsheet (khususnya microsoft excel)adalah: yang pertama tertinggi adalah | |
% 'woorkbook' yang merupakan file excel itu sendiri. Yang kedua adalah 'sheets' | |
% atau KUMPULAN sel-sel (kotak-kotak) tempat kita bekerja (menaruh angka), biasanya | |
% secara default dalam sebuah 'workbook' yang baru dibuat, akan ada 3 sheet | |
% yang tersedia. | |
% Kemudian yang terakhir adalah 'cell' atau sebuah sel (kotak) dalam 'sheets' | |
% sebelum memulai anda mesti membuat sebuah file excel yang ditempatkan | |
% pada folder yang sama dengan file MATLAB ini. Dan beri nama dengan | |
% 'database' (atau database.xlsx kalo file ekstensinya juga dihitung) biar sesuai dengan perintah yang diberikan. Anda bisa juga | |
% memberi nama dengan nama lain. Tapi perintah di bawah harus juga | |
% disesuaikan. | |
% Kemudian tuliskan dengan data sembarangan biar kelihatan kerja programnya | |
%% | |
% pwd menyatakan Project Working Directory atau tempat lokasi kerja saat | |
% ini. jadi perintah berikut akan mencari file yang berada satu lokasi (satu folder) | |
% dengan file matlab yang akan dijalankan. | |
file = [pwd '\database.xlsx']; | |
%% | |
% perintah ini mesti ada. Gunanya untuk menjembatani aplikasi MATLAB dengan | |
% aplikasi bawaan dari microsoft. (untuk lebih jelasnya liat help pada MATLAB) | |
h = actxserver('Excel.Application'); | |
%% | |
% kalo di setting = 1, maka file excel akan diperlihatkan. Sementara kalo | |
% 0 , file excel aktif hanya tidak diperlihatkan. | |
h.Visible = 1; | |
%% | |
% membuka woorkbook yang dimakud oleh file. | |
workbook = h.Workbooks.Open(file); % perhatikan, perintah 'Open' harus ditulis sesuai format (harus memakai huruf besar untuk huruf pertama-----masalah umum pada MATLAB :D) | |
%% | |
% merujuk pada sheets yang tersedia pada workbook (file excel) yang sudah dibuka. | |
Sheets = h.actiVeWorKBook.sheets; | |
%% | |
% pilih sheet pertama | |
Sheets.Item(1).Activate; | |
%% | |
% lihat semua data yang berada pada sheet pertama... | |
AllRawData = h.Activesheet.UsedRange.Value; | |
%% | |
% tampilkan data-data tersebut | |
disp(AllRawData ); | |
%% | |
% tulis data ('makanan') ke dalam sheet ke-1 (sheet yang aktif) yakni untuk sel dengan | |
% label A20 (kolom ke-1 baris ke-20) | |
set(get(h.activesheet , 'Range', 'A20'), 'Value', 'makanan'); | |
%% | |
% perhatikan perintah di atas bisa ditulis dengan cara yang lebih panjang, | |
% yakni: | |
% activesheet = h.Activesheet; | |
% activesheetrange = get(activesheet, 'range', 'A20'); | |
% set(activesheetrange , 'value', 'makanan'); | |
% jadi perintah berikut akan menulis 'minuman' pada kolom ke-5 baris ke-10 | |
activesheet = h.Activesheet; | |
activesheetrange = get(activesheet, 'range', 'E10'); | |
set(activesheetrange , 'value', 'minuman'); | |
%% | |
% sebenarnya ini untuk menulis file, soalnya saya bingung bagaimana cara | |
% 'mengappend' data ke excel dengan program yang sama yang dipakai untuk | |
% membaca data di dalamnya. Ingat excel bukan database. | |
invoke(workbook, 'Save'); | |
%% | |
% tutup workbook | |
workbook.Close(false); % close juga harus ditulis sesuai format | |
%% | |
% keluar handle | |
h.Quit; | |
%% | |
% delete handle | |
delete(h); | |
%% | |
% bersihkan semua variabel; | |
clear all; | |