Anda di halaman 1dari 2

[basic]

2012

IMPORT DATA FROM NOTEPAD TO EXCEL CASE: DATA IN A YEAR

Artikel ini saya tulis dikarenakan seorang rekan meminta saya untuk membuatkan program untuk membaca data dari format text (*.txt dan *.min) selama setahun lalu memindahkan data tersebut ke excel agar mudah untuk dibaca. Format setahun ini tentu mengikuti kaidah jumlah hari dalam tiap bulannya termasuk untuk tahun kabisat. Artikel tentang membaca import dan export data dari matlab dan excel sudah dibahas pada artikel saya sebelumnya. Tapi memang ada beberapa tambahan syntax yang belum pernah dibahas pada artikel tersebut. Langkah-langkah dan code nya adalah sebagai berikut 1. Menyiapkan folder baru untuk menyimpan file excel hasil konversi dari format text. Code:
clear all; close all; clc; % tempat menyimpan file excel hasil konversi dari text try namafolder = 'dataxls'; % ganti nama folder disini statdir=dir; for mm = 1:numel(statdir) if strcmp(namafolder,statdir(mm).name)~=1 [status,pesan] = mkdir(namafolder); break; end end %

2. Membaca direktori penyimpanan file text yang akan dikonversikan ke excel. Code:
% proses export data dari notepad ke excel direkfile = 'D:\datatext'; addpath(genpath(fullfile(direkfile))); ppath = fullfile(strcat(direkfile,'\*.min')); files = dir(ppath); jum_file = numel(files);

3. Ini adalah bagian proses membaca data dari text dan mengubah nya ke excel. Code:
[janshendry@gmail.com] | email

[basic]

2012

% jans feb mar apr mei jun jul aug sept oct nov dec bulan=[31 28 31 30 31 30 31 31 30 31 30 31]; mm = 1; awal = 1; panjang = bulan(1); mt = 1; disp('Sedang Proses...'); while mm <= 2 for m = awal:panjang % import data dari notepad ke matlab namafile = files(m).name; mydata = importdata(namafile,' '); awalbaris = abs(size(mydata.textdata,1)-size(mydata.data,1)); numdata = mydata.data; strdata = mydata.textdata(awalbaris+1:end,:); warning off MATLAB:xlswrite:AddSheet % menulis data baik header dan data numeric ke excel head = {'DATE','TIME','DOY','FRNH','FRND','FRNZ','FRNF'}; fName = strcat(namafolder,'\',sprintf('Bulan-%d.xlsx', mm)); xlswrite(fName,head,sprintf('Sheet%d',mt),'A1'); xlswrite(fName,strdata,sprintf('Sheet%d',mt),'A2'); xlswrite(fName,numdata,sprintf('Sheet%d',mt),'C2'); % memanggil activeX excel % mengubah properti excel untuk tiap kolum e = actxserver('excel.application'); eW = e.Workbooks; eF = eW.Open(strcat(pwd,'\',namafolder,'\',sprintf('Bulan-%d.xlsx',mm))); eF.ActiveSheet; eS.Range('A1:Z1').EntireColumn.Font.Name = 'Times'; eS.Range('B1').EntireColumn.NumberFormat = 'hh:mm:ss'; eS.Range('A1:Z1').EntireColumn.AutoFit; eF.Save; eF.Close; e.Quit; mt = mt + 1; end % variabel-variabel inkrement mm = mm + 1; awal = awal + bulan(mm-1); panjang = panjang + bulan(mm); mt = 1; end catch end disp ' '; disp('Proses Konversi Selesai...');

eS =

program ini sudah di uji dan bekerja dengan baik. Selamat mencoba

@ thanks
[janshendry@gmail.com] | email