Script PHP untuk Membuat Report Format MS. Excel
September 13th, 2008 | by rosihanari |
Cetak Artikel Ini
Satu lagi tutorial persembahan dari blog.rosihanari.net yang mudah-mudahan berguna bagi para web programmer. Tutorial ini adalah bagaimana membuat script PHP untuk menghasilkan file report dalam format MS. Excel.
Apa menariknya report dalam format MS. Excel? dengan report berformat MS. Excel memungkinkan untuk dilakukan pengolahan lagi pada data report tersebut. Sebagai contoh, report tentang data nilai mahasiswa dan status kelulusannya pada matakuliah tertentu. Apabila report yang dihasilkan berupa MS. Excel, maka memungkinkan untuk pengolahan lebih lanjut terhadap report tersebut menggunakan perintah-perintah dalam MS. Excel, seperti menghitung jumlah mahasiswa yang lulus maupun tidak lulus, bahkan dalam bentuk prosentasenya.
Nah… kita akan coba membuat script PHP untuk menghasilkan report dalam format MS. Excel ini, dengan mengambil studi kasus lagi-lagi tentang nilai matakuliah mahasiswa. Report yang akan dihasilkan berupa daftar mahasiswa (NIM dan Nama) yang mengambil matakuliah, nilai yang diperoleh, serta status kelulusannya (LULUS/TIDAK LULUS). Untuk menentukan kelulusan, misalnya diambil policy jika nilainya 60 ke atas maka LULUS, jika kurang dari 60 maka TIDAK LULUS. Untuk data mentah dari report ini diambil dari database MySQL.
OK… terlebih dahulu kita siapkan tabel dan recordnya.
CREATE TABLE nilaimhs(
nim varchar(10),
namaMhs varchar(30),
nilai int(11),
PRIMARY KEY(nim)
)[/sourcecode]
INSERT INTO nilaimhs VALUES
('M0197001', 'Faza Fauzan Kh.', 80),
('M0197002', 'Dwi Amalia Fitriani', 75),
('M0197003', 'Rosihan Ari Yuana', 45),
('M0197004', 'Nada Hasanah', 83),
('M0197005', 'Muh. Ahsani Taqwim', 90);[/sourcecode]
Setelah tabel dan record sudah siap, let's write a PHP script. Ini dia scriptnya...
// nama file
$namaFile = "report.xls";
// Function penanda awal file (Begin Of File) Excel
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
// Function penanda akhir file (End Of File) Excel
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
// Function untuk menulis data (angka) ke cell excel
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
// Function untuk menulis data (text) ke cell excel
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}
// header file excel
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,
pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
// header untuk nama file
header("Content-Disposition: attachment;
filename=".$namaFile."");
header("Content-Transfer-Encoding: binary ");
// memanggil function penanda awal file excel
xlsBOF();
// ------ membuat kolom pada excel --- //
// mengisi pada cell A1 (baris ke-0, kolom ke-0)
xlsWriteLabel(0,0,"NO");
// mengisi pada cell A2 (baris ke-0, kolom ke-1)
xlsWriteLabel(0,1,"NIM");
// mengisi pada cell A3 (baris ke-0, kolom ke-2)
xlsWriteLabel(0,2,"NAMA MAHASISWA");
// mengisi pada cell A4 (baris ke-0, kolom ke-3)
xlsWriteLabel(0,3,"NILAI");
// mengisi pada cell A5 (baris ke-0, kolom ke-4)
xlsWriteLabel(0,4,"STATUS KELULUSAN");
// -------- menampilkan data --------- //
// koneksi ke mysql
mysql_connect("localhost", "root", "root");
mysql_select_db("data");
// query menampilkan semua data
$query = "SELECT * FROM nilaimhs";
$hasil = mysql_query($query);
// nilai awal untuk baris cell
$noBarisCell = 1;
// nilai awal untuk nomor urut data
$noData = 1;
while ($data = mysql_fetch_array($hasil))
{
// menampilkan no. urut data
xlsWriteNumber($noBarisCell,0,$noData);
// menampilkan data nim
xlsWriteLabel($noBarisCell,1,$data['nim']);
// menampilkan data nama mahasiswa
xlsWriteLabel($noBarisCell,2,$data['namaMhs']);
// menampilkan data nilai
xlsWriteNumber($noBarisCell,3,$data['nilai']);
// menentukan status kelulusan
if ($data['nilai'] >= 60) $status = "LULUS";
else $status = "TIDAK LULUS";
// menampilkan status kelulusan
xlsWriteLabel($noBarisCell,4,$status);
// increment untuk no. baris cell dan no. urut data
$noBarisCell++;
$noData++;
}
// memanggil function penanda akhir file excel
xlsEOF();
exit();
?>
[/sourcecode]
Apabila script di atas dijalankan pada browser, maka browser akan menampilkan kotak dialog untuk mendownload file MS. Excel sebagai outputnya. Gambar berikut ini adalah screen shot isi file excel yang telah didownload.

Mudah bukan cara membuatnya?
Silakan isi komentar di bawah ini apabila ada pertanyaan dan diskusi seputar artikel ini.
Anda ingin mendownload beberapa tool programming 100% gratis?
Silakan download di FREE PROGRAMMING TOOLS.
atau ingin berdonasi untuk pengembangan blog ini cukup dengan $1 via Paypal?
Beberapa artikel terkait
- Membuat Script PHP Import Data MS. Excel Ke MySQL
- Membuat Script PHP Untuk Report atau Rekap Data (2)
- Import Data Format XML ke MySQL dengan Script PHP
- Membuat Script PHP untuk Kompresi File ZIP
- Script PHP untuk Membuat Dokumen RTF
- Membuat Script PHP untuk Rekap Data dari Data Mentah
- Ide Membuat Script Grafik PHP Untuk Menampilkan Indeks Prestasi Mahasiswa (Studi Kasus)
- Ide Membuat Script PHP untuk Pencarian dengan Multi Kategori
- Membuat Script PHP untuk Restore Database MySQL
- Membuat Script PHP untuk Randomize Secara Periodik
Share this article on:
Kata kunci: excel php - export excel - PHP - php script - report script -





[...] number), warna yang berbeda untuk value berupa number, string dll. Sebagai contoh, silakan lihat postingan ini. Begitu pula untuk identifier, dia akan diberi warna yang beda pula. Nah… bagi para blogger [...]
koq file yang didownload extensionya report.php ya…???
Mas, kalo ke word gimana ya.
misalkan saya dah punya template file doc,
misalkan :
Nama : –
Alamat : —
Nah Data Nama Alamat itu diisi dari PHP, secara dinamis..
Thk Before
kalo reportnya dalam bentuk .doc sepertinya gak bisa karena .doc itu merupakan format berbentuk grafis. Sedangkan report dalam bentuk .rtf (rich text format) bisa, namun untuk data details menampilkan beberapa record agak sulit.
Bukan report mas, cukup insert data aja, di word. Jadi bukan untuk data detail. Jadi saya dah siapkan template kata-kata di doc, misalkan Nama , alamat . Nah isi data,alamatnya itu diisi dari PHP (Dari Database) kemudian di lempar ke word. Ini akan bermanfaat untuk membuat sebuah output, karena kelemahan web kan untuk cetaknya kadang kurang bagus, jika di word kan nanti bisa di edit. Kasus ini bermanfaat untuk membuat report misalkan, membuat surat keterangan. Saya nemu artikel yang bagus, mungkin mas bisa pelajari..and praktekkan and di posting di blog ini mas..
Ini mas link nya :
http://www.phpbuilder.com/columns/yunus20031124.php3?page=1
saya akan coba pelajari, thanks anyway…
[...] mas “Kereayem” yang menanyakan bagaimana cara membuat dokumen DOC dengan script PHP di salah satu komentarnya dalam blog ini. Namun maaf mas… karena sepertinya dokumen DOC sulit dimanipulasi dengan PHP, sehingga [...]
Terima kasih atas bantuan-scriptnya mas.
Export ke excell itu benar-benar membantu.
Saya pakai OS Linux UbuntuDesktop 8.04 + XAMPP scriptnya berjalan lancar.
Ketika saya pindahkan ke OS Windows XP + XAMPP file excellnya kosong tidak berisi data.
Mohon penjelasan.
thxs ya bwat tutorialnya.
program yang saya bwat udh slesai.
smoga nanti bkin tutorial yang lain ya…
nanti klo ada tutorial yang bagus lagi kirimin ya k’email saya.
mas kok klo d’Mcrsft office 2007 reportnya ga bisa dibuka ya??? apa yang harus diganti???
Mas kok klo pake IE reportnya ga bs d’buka ya???
Gimana sch biar fleksibel,bs d’buka d’IE atw d’Mozilla??
to Mr. X: memang kalau di MS. Office 2007 tidak bisa dibuka, karena formatnya beda. Sampai saat ini saya belum tahu caranya spy bisa dibaca di Office 2007. Saya coba test di IE 6, itu bisa mas didownload dan dibuka.
mas itu kan reportnya memakai database MySql ya..
trus klo memakai database oracle gimana caranya mas..
thanks…
to rio : saya belum pernah pakai oracle mas. Tapi pada prinsipnya sama saja. Yang menjadi point di sini adalah script PHP nya. kalau masalah databasenya apa, itu gak masalah.
Thank yaa
artikel nya bagus banget..
saya juga ada pertanyaan mengenai bagaimana cara menginput data dari text file kedalam data base(mysql)? trims
to Bajuri : Pake fasilitas import data saja mas yang ada di fitur MySQL. Di PhpMyAdmin ada kok fasilitasnya.
oia pak.. satu lagi, saya berhasil keluar box untuk open file .xls tapi ketika di klik, ada alert unable to read file. tolong dibantu pak..
wah comment yang sebelum itu belum terkirim.
mm, kalo saya modified table nya (di excel) artinya dari warna nya, font, border, itu bagaimana pak?
Kalau setting halaman menjadi Landscape gimana yach?
wah,mantaff neh tutorial.. berarti bisa bikin index.php untuk input data ke Excel ya om..?
makasih ya..
sukses selalu
To bongkeng: Yup tepat sekali mas
membantu sekali pak scriptnya… terima kasih
untuk format tanggal gimana ya pak?
to Chandra: maksudnya tanggal gmn mas? tanggal sekarang (current date) or tanggal dari database dengan format tahun-bln-tgl? kalau current date ya pake perintah date(“d-m-Y”); saja
maksud saya data yang disimpan ke file excel lsg dalam btk format tanggal, karena function yang ada hanya writelabel dan writenumber saja. tapi ngga masalah karena di excel nanti bisa diubah dari format cell nya. pak mau nanya nih klo dari script bapak file excel dlm bentuk attachment yang harus didownload oleh user. bagaimana caranya agar file excel tsb lsg tersimpan ke directory yang sudah ditentukan???
Thanks atas bantuannya
Mas terimakasih tutorial nya sangat membantu, btw saya mau nanya nih klo image bisa ga yah di tampilin di excel juga. saya ada keperluan membuat report yang juga menampilkan image berupa logo di excel nya, mohon pencerahannya.
terimakasih & Salam,
made
tolong aku kirimi script php untuk koneksi dua tabel atau lebih, misalnya tabel mata pelajaran dengan siswa, tolong ya… makasih sebelumnya
to syaiful: mungkin maksudnya ‘koneksi’ di sini adalah relasinya. Kalau relasi hanya main di query SQL nya, dan tidak ada perintah khusus di PHPnya. Contoh-contoh query SQL yang melibatkan lebih dari 1 tabel dapat dibaca di http://blog.rosihanari.net/perintah-sql-select-untuk-multi-tabel-bag-1/
Pak,,,
Saya coba buat persis seperti yg bpk tulis, tapi ko hasilnya hanya file excel kosong sie?
Apa yg kurang ya?
Kalo multi colom dan rows gimana yah
|————————————–|
| | QTY |
| No |——————————-|
| |Drum | Liter | Kilo | Botol |
|————————————–|
kalo kayak gitu gimana yah di exelnya…?
to nano: wah rusak yah tampilannya
maksudnya multi kolom gimana mas?
to chandra: maaf baru bisa direply… kalo format tanggal tetap pake writelabel() saja karena dia dianggap sbg string. Mmm… terkait dengan attachment, saya belum punya ide mas.
Mau tanya pak : Kalau membuat laporan yang melibatkan dua tabel atau lebih, scripnya gimana pak? Mohon petunjuknya
Assalamu’alaikum..
Pak, saya datang lagi
yang kemaren AlhamduliLlah dah bisa pak dan kali ini saya mau menanyakan tentang report ke excel. Apakah kita bisa setting dulu tampilan excelnya??
Makasih pak sebelumnya…
to vaepink: mmm… saya belum pernah coba tuh mbak. Tapi ada temen yang pernah bilang ke saya, katanya pakai macro bisa. Karena saya gak bisa macro so… saya blm pernah coba
macro yah…, saya juga blom pernah nyoba
, tapi makasih pak atas penjelasannya
Pak saya mau tanya lagi…hehe
,
saya kan buat report pake PDF tapi masalahnya dia bentrok sama session, kenapa bisa gitu ya pak?? padahal session itu saya butuhkan untuk filter reportnya.
Makasih pak sebelumnya.
to vaepink: waduh… kok pake bentrok segala, emang ada apa ya kok gak bisa rukun. Eh.. bentrok gimana maksudnya?
hehe…
iya pak jadi messagenya gini :
“Warning: Cannot modify header information – headers already sent by (output started at /opt/lampp/htdocs/Web_KPI/callsessien.php:18) in /opt/lampp/lib/php/fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can’t send PDF file”
klo tanpa session report dalam PDFnya bisa dipanggil (keluar).
Makasih pak
to vaepink: ooo… itu… pasti di atas perintah session_start() terdapat perintah untuk nampilin teks sesuatu di PDF atau reportnya. soalnya session_start() itu musti diletakkan di bagian paling atas.
Eva dah letakin session_start() paling atas kok pak, dan dia bisa kepanggil cuma klo eva panggil report dalam bentuk PDF dia keluar message itu. Jika eva buang session report maka PDFnya keluar tapi data sessionnya enggak keluar karena enggak eva aktipkan. Gimana yah caranya biar keduanya bisa diaktipkan secara bersamaan??. eva masukan include coding PDFnya tapi hasilnya tetep sama “PDF enggak bisa keluar karena dah ada session yang keluar”.
Mohon bantuannya pak, makasih
to vaepink: coba tulis beberapa baris perintah mulai dari atas script Anda mbak sampai dengan session_start() nya, tapi jangan banyak-banyak ya…
script paling atas :
Open();
$pdf->SetAutoPageBreak(false);
?>
maaf yang atas salah…
script paling atas:
Open();
.
.
.
?>
Aduhh pak maaf saya salah lagi.
ni script paling atas..
include “callsessien.php”
if ($action== “Login”)
{ if ($print == “Preview”){
require_once(“fpdf.php”);
mysql_connect(“server3″,”edp2″,”112358″);
mysql_select_db(“dbapp1″);
$sec = $_SESSION['seksi'];
$varthn=($_POST['varthn']);
$cmd=”select * from tblkpiedp1 where Sec =’$sec’ and Tahun=’$varthn’”;
$exe=mysql_query($cmd);
define(‘FPDF_FONTPATH’,'font/’);
.
.
.
.
Pak rosihanari terima kasih sintaksnya.
sudah saya coba, tepi kok yang keluar
Warning: Cannot modify header information – headers already sent by (output started at /opt/lampp/htdocs/PP/approval/report.php:9) in /opt/lampp/htdocs/PP/approval/report.php on line 89
pada line
// header file excel
header(“Pragma: public”);
header(“Expires: 0″);
header(“Cache-Control: must-revalidate, post-check=0,
pre-check=0″);
header(“Content-Type: application/force-download”);
header(“Content-Type: application/octet-stream”);
header(“Content-Type: application/download”);
dan tidak muncul dialog box untuk menyimpan dalam bentuk excel.
mohon bantuannya…..
to wahyuni: coba tulis script tsb apa adanya dulu deh… nanti nambah2innya belakangan.
aq pnya masalah reporting ketika jumlah data di databasenya banyak…
data q skitar 100.000 lah..
gimana mensiasatinya supaya tidak lambat/hang saat proses membuat report…
thanks
to fathur: coba analisislah struktur tabel dari databasenya. Coba gunakan konsep normalisasi dalam mengoptimalisasinya. Struktur tabel mempengaruhi kecepatan prosesnya seperti yang telah saya bahas di
http://blog.rosihanari.net/cara-cepat-merestrukturisasi-tabel-dan-data
Disamping itu coba analisis pula algoritma yang anda gunakan dalam script.
Terima kasih banyak atas tutorialnya…
pak gimanq kalau datanya menggunakan header detail. maksudnya dari 2 table. satu data header bisa mempunyai beberapa data line. terima kasih…..
mohon bantuan, gimana cara ngatur width column excel-nya?
to hari mulyanto: sampai hari ini saya belum bisa mengaturnya mas. Mungkin menggunakan semacam macro, tapi saya belum bisa macro.
BOS, ADA NGAK TUTORIAL KALAU KITA HENDAK NGRJAKAN RAPORT SISWA,( DKN )?
MOHON PENCERAHAN
kalo ke pdf ada gak tutorialnya pak??
terimakasih sudah berbagi…
to adi: coba dilihat di http://rosihanari.net/web-tutorial
trimakasih atas bantuannya pak, o.. ya pak itu hasil format ke excelnya kok tdk ada coloumnya mhon bantannya gmna cranya mnculin coloumnya sekalian pak???
to satria: maksudnya coloum apa ya? apa maksudnya nama atau judul kolomnya? kalo iya, kan di contoh script ada. Misal perintah xlsWriteLabel(0,0,”NO”); perintah itu untuk membuat nama kolom bernama “NO” yang terletak sisi paling kiri atau sel ke (0, 0)
Kok di saya gak bisa ya? Apa karena pake office 2007? saya pake xampp sih..
to jaelani: mm… memang script di atas belum dicoba di office 2007. Sepertinya pake XAMPP atau nggak, nggak jadi masalah. Bisa jadi memang karena pengaruh versi officenya.
pak..gimana caranya masukin gambar dr php ke excell???ditunggu jawabannya
bisa gak klo laporannya ada userid yg diawali angka 0 contohnya:0897, soale pas saya buat terus say aexport ke xls angka nol nya hilang yang tampil hanya 897..thx
to haru: Anda harus pake format text. Gunakan xlsWriteLabel(), jangan pake xlsWriteNumber().
pak,,thanx ats ilmu yg telah d brikan..
tp telah saya coba, kok blum skses y..
yg muncul d ms.excel malah program php’a..
bkn hasil sperti yg tertera di atas..
itu gmn pak ??
kemudian pak gimana cara nya membuat laporan absensi mingguan per kelas yg berisi 6 tgl, nama mahasiswa dan NIM ??
karna stelah saya tampilkan nnti laporan absensi mingguan tsb, saya akan export ke format excel utk di olah kembali..
gimana pak ??
tolong penjelasannya.
thanx b4.
Makasih pak Ari. saya tertarik sekali dengan skrip ini..
pak, gimana klo sebaliknya, dr excel ke mysql?
Mohon panduannya. terima kasih
.-= hendra´s last blog ..Meningkatkan keamanan website Joomla! anda =-.
to hendra: maaf mas, saya blm ada referensinya. mungkin suatu saat kalo dah ada, nanti saya tulis deh, insya allah…
Ok mas, thanks..
O iya mas, bisa gk skrip diatas di buat supaya file excelnya langsung di simpan di directory tertentu di komputer kita? Jadi systemnya gk perlu ada kotak dialog untuk download lagi ketika skrip itu di jalankan
thanks
.-= hendra´s last blog ..Meningkatkan keamanan website Joomla! anda =-.
to hendra: eh kalo otomatis disimpan di direktori server sih bisa, tapi kalo langsung disimpan ke komputer client kayaknya sulit deh.. karena pasti modenya download dulu.
boleh dunk mas, di share skripnya. gpp di simpen di server jg.
thanks jawabannya
.-= hendra´s last blog ..Meningkatkan keamanan website Joomla! anda =-.
mas kl nyimpan dalam 2 sheet untuk 2 query sql ada ndak?
to rianita: belum pernah mencoba mbak
wah…tq banget ms..kebetulan client user pengin report yang bisa di edit..tq..tq..tq…
mas,scriptnya udag saya coba tapi keluar error seperti berikut:
Warning: Cannot modify header information – headers already sent by (output started at D:\xampp\htdocs\fasilitas\klaim_asuransi\tset.php:1) in D:\xampp\htdocs\fasilitas\klaim_asuransi\tset.php on line 40
.-= Rhomadona“s last blog ..Inilah Obyek Tertua di Alam Semesta Saat Ini =-.
to rhomadona: dalam script itu jangan menggunakan echo “…” apapun juga mbak, demikian pula memberikan include “..”; dimana dalam script yang diincludekan tsb memuat echo “…”;
wow… trik bagus bos..
.-= iponk´s last blog ..iPhone 3G cuma $99 =-.
kalo untuk data integer kok di excelnya ga bisa dijumlah ya? ada error ‘style comma not found’
sy sudah pake xlsWriteNumber
kenapa ya pak?
terimakasih.
to henn: anda menjumlahkannya di excelnya atau di scriptnya lalu ditampilkan di excel?
di excelnya pak.
thx
pak ini coba pake IE gak bisa download excel tapi .phpnya , tapi pake mozila bisa jalan download excelnya. trims
to wawan: wah saya malah belum nyoba mas..
to henn: mungkin di Windows Anda, tanda komanya menggunakan titik (.) atau sebaliknya, sehingga tidak bisa diproses.
Wah menarik sekali tulisan Anda Pak.
Ini yang saya butuhkan.
Ada sedikit pertanyaan.
Apakah hal ini bisa jalan di komputer server/client yang tidak meng-install excell?
Soalnya di kantor pakai open office semua.
Tolong dibalas ke email saya ya Pak.
Terima kasih buat bantuannya.
to arief sugiharto: bisa saja mas, karena hasil dari script tersebut akan menghasilkan file excel. Nanti terserah file excelnya mau dibuka di PC manapun.
sepertinya ada masalah antara IE dan firefox masih berlanjut mas..
klu pke IE yg di downlot .php tapi bisa dibuka secara manual pke excell..
*hidup firefox! hehe
Pak kalau membaca file excel menggunkan php,gimana y?
Pak, kalau di IE kok agak beda ya, extension nya jadi php…….
terima kasih
@gatot: masa sih mas? saya dulu pake IE gpp tuh?
@ivan: saya ada scriptnya sih mas… tapi ini untuk kalangan pribadi dulu
script ini saya gunakan untuk proses import file excel ke mysql. maaf ya mas…
@yoga atkinson: masa sih mas, saya dulu nyoba pake IE gak masalah tuh… apa hanya IE tertentu yang bisa ya?
bener.. (sampe saya coba lagi).. misal nama program convert nya “xls.php”, maka yg kita donlot ntar malah si xls.php.. walaupun di script tersebut kita tentukan namanya crew.xls misalnya..
tapi makasi.. script nya keren.. hehe gak harus pke donlot class untuk excel (biasa di buku2 php kita harus donlot class tambahan)
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\fuel\excel.php:2) in C:\xampp\htdocs\fuel\excel.php on line 41
data base sudah benar,
source code saya kopi paste persis..
mohon petunjuknya..
@opak: ada perintah apa dengan perintah pada baris ke-41? apakah anda pake perintah header() ? jangan pakai itu deh…
udh bisa pak,
ternyata sebelum tanda script awal php <?php
ada baris spasinya..
jadikan kebaca sebagai output html.
makasih pencerahannya Pak..
@opak: ok.. bisa kan
Terimakasih atas sharingnya sudah saya coba dan berhasil. Saya mau nanya pak bagaimana caranya menampilin di excelnya di batasin misalnya setiap halaman 5 record dan header nya berulang..? terimakasih sebelumnya
@aji: wah belum pernah nyoba mas. Silakan bereksperimen sendiri ya, kalo sudah bisa dishare di sini
mengenai membuat report ke format exel kyk coding mas ini, perlu modul lagi ga yang hrs di download & di-include ?
untuk coding ini :
‘header(“Content-Type: application/force-download”)’ ini maksudnya apa mas???
@erik setiawan: itu gunanya untuk menampilkan kotak dialog untuk download file di browser mas… untuk membuat report excel tidak pake modul lain lagi.
klo tabel report exel ada bordernya, coding yang hrs ditambahin kyk gmn mas…?
-thanks be4-
Terima kasih, tutorialnya sangat membantu.
Yang jadi pertanyaan saya pak, hasil pada file excel saya ada sedikit problem tampilan, yaitu lebar cell tidak menyesuaikan panjang nama file dari database.
(kalau di tutorial ini lebar cell nya bisa menyesaikan dengan nama file, sedangkan milik saya tidak.)
semoga pertanyaan saya bisa dipahami, mohon dibantu pak. Terima kasih.
tambahan pak, bagaiman dengan mengedit font agar bisa bold, bisa center ?
tertarik nih mas sama tutor ini
kebetulan saya baru belajar ttg php
kalau nama file dan lokasi penyimpanan di komfirmasi dulu, jadi sebelumnya kita tekan submit dulu, terus ada kotak dialog nanya nama fole brk lokasinya, gimana yah scripnya..
terima kasih mas
maaf pak, kok saya coba ga bisa yah? yang keluar report.php ? mohon beri arahan, thx
@asep supratman: bukankah biasanya sudah seperti itu mas asep setiap kali kita download file? secara otomatis muncul kotak dialog di browsernya.
@kurniawan: yang saya coba memang lebar cell tidak bisa otomatis mas. Yang di screen shot di atas, sudah saya lebarkan sendiri
mas bisa bantu ajarin cara membuat status komen pada web gak? yang ky di blog mas ari ini, jadi pengunjung bs meninggalkan kmentar di web tersebut. klo boleh kirim ke emailku ya.. makasih
@ogahmales: ini saya pake WordPress kok mas, jadi memang sudah ada dari sononya. Tinggal pake
Om,, kalo dbnya microsoft Sql server 2005 bisa gug ??
mas, numpang tanya dunk
klo saya mau nampilin file ms.excel di wordpress gmn ya..?
kebanyakan tutorial yg saya dapat hanya menjelaskan cara upload file excell di ‘add media’.
yg ingin saya tanyakan mengenai menampilkan isi file ms.excell di postingan, bukan menyediakan link download file tsb. kira2 bisa gak ya..
saya kelimpungan niy dah nyoba2 Mas.
tolong bantuannya ya..
mas, convert ke excel berhasil.thx
cman gmn caranya klo yg dconvert itu da data numericnya.. trus d excelny jg menjadi general yg bukan text.supya bisa djumlah nilai c numericny tampa harus ada pengediitan dulu… mhon bantuannya mas…. thx..
@aris: untuk segala operasi aritmatik pada data numerik dilakukan di scriptnya (PHP) mas, lalu hasilnya ditampilkan di excel.
@ihsan: sepertinya gak bisa mas. Tapi saya dulu pernah dpt script PHP untuk menampilkan isi excel dalam bentuk grid persis tampilan excel di web. Namun saya lupa namanya
barangkali anda bisa membuat plugin wordpress untuk hal itu dari script tsb
terimakasih pak, tutorialnya sangat membantu…saya sudah menerapkan script itu di localhost dan tidak ada masalah, tapi pas uda di upload koq ga bisa ya..internal server eror..apa ada setingan tertentu di hostingnya apa gmn…
@eka: bisa jadi karena beda versi php nya mas
Tutorialnya mbantu banget pak. aku udah berhasil ekspor dari mysql ke excel. Klo mau langsung format border n font gimana ya? soale aku udah coba minta bantuan dari temen2 n googling tp gak bisa2. Thanks.
@lina obie: maaf mbak saya juga belum bisa, mungkin itu harus pake macro.
bagaiamana supaya ada bordernya pada tabel excel yang didownload?
terima kasih
@deni: maaf mas deni, saya blm ketemu caranya untuk formatting outputnya.
saya sangat berterima kasih dengan tutorial master maklum pemula ingin belajar dan belajar…. tutorial agar web kita jika di search engine di urutan 1 – 10. terima kasih master…..
master saya sangat berterima kasih dengan tutorial nya.
@dedy: itu terkait dengan masalah SEO mas. Saya bukan ahli SEO. Coba anda googling saja dengan keyword “SEO tips”.
saya sangat terbantu dengan tulisan anda di blog ini. saya ucapkan banyak terima kasih dan terus menulis yaa….
gimana pak, untuk bisa di bold, bisa “Merge & Center” …
@kurniawan: mmm… kalo itu belum bisa mas… Sementara harus manual dulu.
Mas Rosihan Mau tanya ni, Kalo pengen ditambah Summarynya gimana ya mas ?
@ari: summary bgm maksudnya mas? apa semacam jumlah total begitu? kalo iya, maka anda hitung dulu totalnya menggunakan script php, lalu tampilkan hasilnya sebagai summary di baris paling bawah excelnya. Memang untuk summary tidak bisa dihitung di excelnya, tapi lewat script php nya lalu disisipkan ke dalam cell nya.
Oh iya, Sekarang saya sudah mengerti Mas Rosihan, terima kasih atas bantuan serta tutorialnya. semoga tetap SUKSES
mas.,.,
kalo pingin nampilin file excel ke php atau web, gmn???
akan tetapi di file excel tersebut.,.,memiliki lebih dari satu sheet…
bagi ilmunya ya mas.,.
THANX.,.,
artikel yg sangat-sangat-sangat berguna dan mudah dipahami, step by step … trima kasih …
@aga: belum bisa tuh mas saya….
bang ari, mau nanya ni mengenai report format excell..
kalo script buat merger cell excell itu gmn? soalnya laporan yang akan saya buat ada header yang merger.
mohon bantuannya.
@uki: saya belum bisa yg spt mas, kalau selama ini ya saya melakukan merge secara manual setelah file diexport.
thx mas untuk tutorialnya… mantap…. sangat membantu sekali….
tapi saya ada pertanyaan yang mungkin mas bisa jawab….
setting width dan height di excel gimana mas?…. mungkin untuk merge cell juga….
@freedo: maaf mas, saya belum ketemu jawabannya… maaf ya…
Pak Rosihan dan rekan2 sekalian, kalau saya coba menggunakan IE6, yang keluar adalah file report.php. Tetapi di Mozilla, berjalan dengan benar.
Nah, pada komentar2 sebelumnya, ternyata ini juga dialami beberapa diantara kita.
Hmm… Apakah sudah ada yang menemukan penyebab dan solusinya?
Terima kasih.
Laporan.
File excel sudah berhasil dikeluarkan di IE6.
Caranya, ganti code :
header(“Content-Type: application/force-download”);
header(“Content-Type: application/octet-stream”);
header(“Content-Type: application/download”);
header(“Content-Transfer-Encoding: binary “);
Dengan code :
header(“Content-type: application/vnd.ms-excel;”);
Tapi masih ada masalah, Pak. Pada code berikut ditentukan nama file excelnya :
header(“Content-Disposition: attachment;
filename=”.$namaFile.”.xls”);
Nah, ini masih belum berjalan, pak. Nama file yang keluar akan sama dengan nama file PHP tempat fungsi ini berada.
Ada solusi?
@putri chairina: belum ketemu mbak solusinya….
Salam kenal,
Blognya bagus banget mas, lanjutkan untuk berbagi ilmu karena saya akan mengambilnya. Boleh ta mas?
O,iya sekalian numpang nanya nih. Kalau saya ingin membuat soal ulangan, trus hasil jawaban siswa per nomer bisa di export ke excel untuk menganalisis soal tersebut. Kira2 gimana ya mas caranya?
Trima kasih
@pak dar: thanks pak atas kunjungannya. Bisa saja pak, pertama Anda harus buat tabel soal dan kuncinya dulu di database, lantas dieksport ke excel dengan script.
MANTAP MAS..
Thanks before..
Maaf nanyanya agak pindah jalur.
Saya dapat nyoba untuk meng import data dari excel ke mysql dengan Excel2MySQL, untuk jumlah data yang sedikit masih bisa jalan.
Saya mau nanya gmana kalau format excel nya terdiri dari beberapa sheet dan yang kita perlu hanya satu sheet saja.
Dan bagaimana kalau jumlah datanya ratusan ribu ke bawah, krn saya coba dengan 4000 data ada pesan error timed out request?
Mohon Bantuannnya..
Terima Kasih.
@bolink: maaf mas, untuk multi sheet saya belum pernah tahu caranya.
Pak, saya punya permasalahan yang sama dengan dian.
Saat saya jalankan, tidak muncul error atau warning tapi setelah file .xls saya download dan buka ternyata muncul alert unable to read file.
Kira2 masalahnya dimana? dan bagaimana jalan keluarnya?
Tolong pencerahannya.
Trims sebelumnya.
mas,koq unable to read? kenapa yah
mohon pencerahan
@ucil: unable to read itu biasanya terjadi karena ada tanda petik di data dalam database. Solusinya dihilangkan dulu tanda petik di dalam data nya
@bejo: coba Anda lihat di database apakah ada data yang di dalamnya terdapat tanda petik? jika ada, coba hilangkan dulu.
kalo garis miring juga ngga bisa yah mas?
pake cara lain,ngga bisa rapih datanya mas,
tapi klo pake cara ini masih aja unable to read mas
@ucil: garis miring bisa mas..
mas tolong skrip agar yg ditampilkan diexcel dalam bentuk tabel dan menentukan lebar kertas agar ketika diprint klo karakter huruf yg diimput tidak terpotong
Hmm.. Thank you.. jalna dengan baik dan tanpa require apapun.. memang banyak file lain seperti reader.php and etc tapi yang ini cukup ringan.
Dan bagus banget.
terima kasih ya.
Luckman R
pak saya sdh cba tutorial di atas tapi pas mau di dwnload filenya malah keluar error ,tdk bsa di bka..trus saya cba untuk di save tapi datanya tdk mncl hnya da nma fieldnya saja..mhn bntuannya ya,,ini sya sertakan script errornya…trimksh
/tmp/report-2.xls could not be opened, because the associated helper application does not exist. Change the association in your preferences.
Mas, bagaimana caranya membagi dalam sheet masing2, misal untuk yang lulus ada di sheet ‘lulus’, yang tidak lulus ada di sheet ‘tidak lulus’ dst. thx
@meckymouse: wah kalo dalam satu file export tdpt bbrp sheet saya belum coba.
@zakaria: waduh… apa tuh ya maksud errornya?? rekans ada yang tahu??
maaf kang saya mau tanya nih.
saya sudah buat dan jalan di localhost. tp setelah saya upload ke hosting kok eror ya kang. menurut akang apa salahnya ya?
eror nya seperti ini:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@psb.smpmuh1depok.sch.id and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at psb.smpmuh1depok.sch.id Port 80
@agung nugroho: wah.. itu bisa jadi krn ada error di scriptnya mas. Untuk detil errornya apa, silakan lihat di Error Logs di Cpanel hostingnya.
mysql_fetch_array(): di salahkan ini kang. padahal kalau saya coba di localhost bisa jalan kang
pak, sy dah coba scrip bapak dan bisa !!yg jd persoalanya bagaimana mengatur tampilannya misal posisi label (kiri, kanan, atau tengah), border, panjang cell, format isian ( pokoknya format tampilan excell)
@didi firmansyah: memang untuk script di atas tidak bisa untuk mengatur format tampilan mas, mesti manual.
makasih mas, ku dah dapet tutorialnya pake classexel …
Pagi mas… Artikelnya sangat membantu mas.. tapi yang ingin saya tanyakan adalah bagaimana seandainya saya mempunya file excel kemudian file tersebut saya export ke bentuk html dengan menggunakan fasilitas “Save As web page” pada excel. Setelah file html tercipta saya ingin menguplooad file tersebut ke database. dan ketika ada yang mau download file tersebut kembali ke bentuk excel.. script yang mas beri bisa saya gunakan dengan baik.. TApi data yang akan saya inputkan berdasarkan tahun jadi tidak bisa di baca perecordnya..
mohon bantuannya mas.. Thanks atas bantuanya
@monahelisa: wah kalo dah beda formatnya, beda lagi prosesnya. Untuk yang ini saya blm ada ide…
Mas saya kan udah nyoba export ke excel dengan php, cuma saya pengen di header Kolomnya ada warna..
@rahmat: kalo dengan script di atas memang gak bisa mas, coba cari referensi lain ya… kalo ketemu kasih tau saya. thanks…
wah keren mas blog ny ijin bookmark, kbtulan lagi bljar php ni, oh iya saya dah coba script yg report ke excel n berhasil, tpi gmna cara ngatur lebar kolom excel ny, soalnya jdi kcil gtu, tulisannya g muat, cape kan klo harus ngatur lebar kolomnya manual stiap report
..thx..
good pak script-nya…
oia pak..???
bikin tutorial ajax donk untuk pemula bgt…
dari program yang mudah ampe sedeng…
mas, saya kan tuk export ke excel.
data-datanya saya ambil dari 4 table.
nah, ada 1 orang yang datanya di 2 table tersebut itu belum diisi.
pas, saya coba export ke excel itu bisa.
tp, pas buka filenya.
ada bacaan unable to read file.
terus katanya, file excel tersebut corrupt.
knp ya mas?
mohon bimbingannya.
thx
@bio_rider_rx: ya mudah2an bisa terwujud kelak
Wah.. makasih banyak ya.. ^_^
mas kenapa ya pas di download berhasil tapi pas di buka file reportnya corupt
satu lagi pak
klau mau nampilin jam gimana yaa pak
pada saat kita export ke excel
soalnya cuma ada nampilin label ma number doank
tolong di bantu yaa pakā¦
@randi: gunakan label saja mas. Jam anda gunakan function PHP date(“H:i:s”), lalu hasilnya Anda taruh di excel dg label.
@anto: barangkali ada tanda petik atau / di dalam datanya mas.