Dapatkan 'Easy Gammu Installer' - Cara Mudah Install Gammu + Ebook Gammu
Ingin Punya Script SMS Gateway dengan PHP + MySQL?

Dapatkan segera phpSMS V3.0, software SMS Gateway multi fungsi berbasis web buatan saya sendiri untuk keperluan Anda.
[Info Lengkap...]

Script PHP untuk Membuat Report Format MS. Excel


September 13th, 2008 | by rosihanari | Cetak Artikel Ini 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.

VN:F [1.9.3_1094]
Rating: 8.2/10 (14 votes cast)
Script PHP untuk Membuat Report Format MS. Excel, 8.2 out of 10 based on 14 ratings
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


Share this article on:

Kata kunci: excel php - export excel - PHP - php script - report script -


Ada 174 komentar dalam artikel ini.

  1. [...] 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 [...]

  2. thymo says:

    koq file yang didownload extensionya report.php ya…???

  3. kereayem says:

    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

  4. rosihanari says:

    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.

  5. kereayem says:

    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

  6. rosihanari says:

    saya akan coba pelajari, thanks anyway…

  7. [...] 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 [...]

  8. Benny says:

    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.

  9. Mr. X says:

    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.

  10. Mr. X says:

    mas kok klo d’Mcrsft office 2007 reportnya ga bisa dibuka ya??? apa yang harus diganti???

  11. Mr. X says:

    Mas kok klo pake IE reportnya ga bs d’buka ya???
    Gimana sch biar fleksibel,bs d’buka d’IE atw d’Mozilla??

  12. rosihanari says:

    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.

  13. rio says:

    mas itu kan reportnya memakai database MySql ya..

    trus klo memakai database oracle gimana caranya mas..

    thanks…

  14. rosihanari says:

    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.

  15. bajuri says:

    artikel nya bagus banget..

    saya juga ada pertanyaan mengenai bagaimana cara menginput data dari text file kedalam data base(mysql)? trims

  16. rosihanari says:

    to Bajuri : Pake fasilitas import data saja mas yang ada di fitur MySQL. Di PhpMyAdmin ada kok fasilitasnya.

  17. dian says:

    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.. :)

  18. dian says:

    wah comment yang sebelum itu belum terkirim.
    mm, kalo saya modified table nya (di excel) artinya dari warna nya, font, border, itu bagaimana pak?

  19. Titasix says:

    Kalau setting halaman menjadi Landscape gimana yach?

  20. bongkeng says:

    wah,mantaff neh tutorial.. berarti bisa bikin index.php untuk input data ke Excel ya om..?
    makasih ya..
    sukses selalu

  21. rosihanari says:

    To bongkeng: Yup tepat sekali mas :-)

  22. chandra says:

    membantu sekali pak scriptnya… terima kasih
    untuk format tanggal gimana ya pak?

  23. rosihanari says:

    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

  24. chandra says:

    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

  25. made says:

    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

  26. syaiful says:

    tolong aku kirimi script php untuk koneksi dua tabel atau lebih, misalnya tabel mata pelajaran dengan siswa, tolong ya… makasih sebelumnya

  27. rosihanari says:

    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/

  28. irune says:

    Pak,,,
    Saya coba buat persis seperti yg bpk tulis, tapi ko hasilnya hanya file excel kosong sie?
    Apa yg kurang ya?

  29. nano says:

    Kalo multi colom dan rows gimana yah
    |————————————–|
    | | QTY |
    | No |——————————-|
    | |Drum | Liter | Kilo | Botol |
    |————————————–|

    kalo kayak gitu gimana yah di exelnya…?

  30. rosihanari says:

    to nano: wah rusak yah tampilannya :-) maksudnya multi kolom gimana mas?

  31. rosihanari says:

    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.

  32. aji says:

    Mau tanya pak : Kalau membuat laporan yang melibatkan dua tabel atau lebih, scripnya gimana pak? Mohon petunjuknya

  33. vaepink says:

    Assalamu’alaikum..

    Pak, saya datang lagi :D
    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… :)

  34. rosihanari says:

    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 :-D

  35. vaepink says:

    macro yah…, saya juga blom pernah nyoba :D , tapi makasih pak atas penjelasannya :)

    Pak saya mau tanya lagi…hehe :D ,

    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.

  36. rosihanari says:

    to vaepink: waduh… kok pake bentrok segala, emang ada apa ya kok gak bisa rukun. Eh.. bentrok gimana maksudnya?

  37. vaepink says:

    hehe… :D

    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”

  38. vaepink says:

    klo tanpa session report dalam PDFnya bisa dipanggil (keluar).

    Makasih pak :)

  39. rosihanari says:

    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.

  40. vaepink says:

    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 :)

  41. rosihanari says:

    to vaepink: coba tulis beberapa baris perintah mulai dari atas script Anda mbak sampai dengan session_start() nya, tapi jangan banyak-banyak ya… :-)

  42. vaepink says:

    script paling atas :

    Open();
    $pdf->SetAutoPageBreak(false);
    ?>

  43. vaepink says:

    maaf yang atas salah…

    script paling atas:
    Open();
    .
    .
    .
    ?>

  44. vaepink says:

    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/’);
    .
    .
    .
    .

  45. wahyuni says:

    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…..

  46. rosihanari says:

    to wahyuni: coba tulis script tsb apa adanya dulu deh… nanti nambah2innya belakangan.

  47. fathur says:

    aq pnya masalah reporting ketika jumlah data di databasenya banyak…

    data q skitar 100.000 lah.. :P

    gimana mensiasatinya supaya tidak lambat/hang saat proses membuat report…

    thanks

  48. rosihanari says:

    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.

  49. desu says:

    Terima kasih banyak atas tutorialnya…

  50. wahyuni says:

    pak gimanq kalau datanya menggunakan header detail. maksudnya dari 2 table. satu data header bisa mempunyai beberapa data line. terima kasih…..

  51. Hari Mulyanto says:

    mohon bantuan, gimana cara ngatur width column excel-nya?

  52. rosihanari says:

    to hari mulyanto: sampai hari ini saya belum bisa mengaturnya mas. Mungkin menggunakan semacam macro, tapi saya belum bisa macro.

  53. jes_bun says:

    BOS, ADA NGAK TUTORIAL KALAU KITA HENDAK NGRJAKAN RAPORT SISWA,( DKN )?
    MOHON PENCERAHAN

  54. adi says:

    kalo ke pdf ada gak tutorialnya pak??
    terimakasih sudah berbagi…

  55. satria says:

    trimakasih atas bantuannya pak, o.. ya pak itu hasil format ke excelnya kok tdk ada coloumnya mhon bantannya gmna cranya mnculin coloumnya sekalian pak???

  56. rosihanari says:

    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)

  57. Jaelani says:

    Kok di saya gak bisa ya? Apa karena pake office 2007? saya pake xampp sih..

  58. rosihanari says:

    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.

  59. anis says:

    pak..gimana caranya masukin gambar dr php ke excell???ditunggu jawabannya

  60. haru says:

    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

  61. rosihanari says:

    to haru: Anda harus pake format text. Gunakan xlsWriteLabel(), jangan pake xlsWriteNumber().

  62. soeandrie says:

    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 ??

  63. soeandrie says:

    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.

  64. hendra says:

    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 =-.

  65. rosihanari says:

    to hendra: maaf mas, saya blm ada referensinya. mungkin suatu saat kalo dah ada, nanti saya tulis deh, insya allah…

  66. hendra says:

    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 =-.

  67. rosihanari says:

    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.

  68. hendra says:

    boleh dunk mas, di share skripnya. gpp di simpen di server jg.

    thanks jawabannya
    .-= hendra´s last blog ..Meningkatkan keamanan website Joomla! anda =-.

  69. rianita says:

    mas kl nyimpan dalam 2 sheet untuk 2 query sql ada ndak?

  70. rosihanari says:

    to rianita: belum pernah mencoba mbak

  71. hatori says:

    wah…tq banget ms..kebetulan client user pengin report yang bisa di edit..tq..tq..tq…

  72. Rhomadona says:

    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 =-.

  73. rosihanari says:

    to rhomadona: dalam script itu jangan menggunakan echo “…” apapun juga mbak, demikian pula memberikan include “..”; dimana dalam script yang diincludekan tsb memuat echo “…”;

  74. iponk says:

    wow… trik bagus bos..
    .-= iponk´s last blog ..iPhone 3G cuma $99 =-.

  75. henn says:

    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.

  76. rosihanari says:

    to henn: anda menjumlahkannya di excelnya atau di scriptnya lalu ditampilkan di excel?

  77. henn says:

    di excelnya pak.

    thx

  78. wawan says:

    pak ini coba pake IE gak bisa download excel tapi .phpnya , tapi pake mozila bisa jalan download excelnya. trims

  79. rosihanari says:

    to wawan: wah saya malah belum nyoba mas..

  80. rosihanari says:

    to henn: mungkin di Windows Anda, tanda komanya menggunakan titik (.) atau sebaliknya, sehingga tidak bisa diproses.

  81. 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. :D

    Tolong dibalas ke email saya ya Pak.

    Terima kasih buat bantuannya. :D

  82. rosihanari says:

    to arief sugiharto: bisa saja mas, karena hasil dari script tersebut akan menghasilkan file excel. Nanti terserah file excelnya mau dibuka di PC manapun.

  83. 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

  84. Ivan says:

    Pak kalau membaca file excel menggunkan php,gimana y?

  85. gatot says:

    Pak, kalau di IE kok agak beda ya, extension nya jadi php…….
    terima kasih

  86. rosihanari says:

    @gatot: masa sih mas? saya dulu pake IE gpp tuh?

  87. rosihanari says:

    @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…

  88. rosihanari says:

    @yoga atkinson: masa sih mas, saya dulu nyoba pake IE gak masalah tuh… apa hanya IE tertentu yang bisa ya?

  89. 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)

  90. opak says:

    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..

  91. rosihanari says:

    @opak: ada perintah apa dengan perintah pada baris ke-41? apakah anda pake perintah header() ? jangan pakai itu deh…

  92. opak says:

    udh bisa pak,
    ternyata sebelum tanda script awal php <?php
    ada baris spasinya..
    jadikan kebaca sebagai output html.
    makasih pencerahannya Pak..

  93. rosihanari says:

    @opak: ok.. bisa kan :-)

  94. Aji says:

    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

  95. rosihanari says:

    @aji: wah belum pernah nyoba mas. Silakan bereksperimen sendiri ya, kalo sudah bisa dishare di sini :-)

  96. erik setiawan says:

    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???

  97. rosihanari says:

    @erik setiawan: itu gunanya untuk menampilkan kotak dialog untuk download file di browser mas… untuk membuat report excel tidak pake modul lain lagi.

  98. erik setiawan says:

    klo tabel report exel ada bordernya, coding yang hrs ditambahin kyk gmn mas…?
    -thanks be4-

  99. kurniawan says:

    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.

  100. kurniawan says:

    tambahan pak, bagaiman dengan mengedit font agar bisa bold, bisa center ?

  101. asep supratman says:

    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

  102. desyayu says:

    maaf pak, kok saya coba ga bisa yah? yang keluar report.php ? mohon beri arahan, thx :D

  103. rosihanari says:

    @asep supratman: bukankah biasanya sudah seperti itu mas asep setiap kali kita download file? secara otomatis muncul kotak dialog di browsernya.

  104. rosihanari says:

    @kurniawan: yang saya coba memang lebar cell tidak bisa otomatis mas. Yang di screen shot di atas, sudah saya lebarkan sendiri :-)

  105. ogahmales says:

    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

  106. rosihanari says:

    @ogahmales: ini saya pake WordPress kok mas, jadi memang sudah ada dari sononya. Tinggal pake :-)

  107. wildan says:

    Om,, kalo dbnya microsoft Sql server 2005 bisa gug ??

  108. ihsan says:

    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..

  109. Aris says:

    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..

  110. rosihanari says:

    @aris: untuk segala operasi aritmatik pada data numerik dilakukan di scriptnya (PHP) mas, lalu hasilnya ditampilkan di excel.

  111. rosihanari says:

    @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 :-)

  112. eka says:

    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…

  113. rosihanari says:

    @eka: bisa jadi karena beda versi php nya mas

  114. Lina Obie says:

    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.

  115. rosihanari says:

    @lina obie: maaf mbak saya juga belum bisa, mungkin itu harus pake macro.

  116. deni says:

    bagaiamana supaya ada bordernya pada tabel excel yang didownload?

    terima kasih

  117. rosihanari says:

    @deni: maaf mas deni, saya blm ketemu caranya untuk formatting outputnya.

  118. dedy says:

    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…..

  119. dedy says:

    master saya sangat berterima kasih dengan tutorial nya.

  120. rosihanari says:

    @dedy: itu terkait dengan masalah SEO mas. Saya bukan ahli SEO. Coba anda googling saja dengan keyword “SEO tips”.

  121. rodatani says:

    saya sangat terbantu dengan tulisan anda di blog ini. saya ucapkan banyak terima kasih dan terus menulis yaa….

  122. kurniawan says:

    gimana pak, untuk bisa di bold, bisa “Merge & Center” …

  123. rosihanari says:

    @kurniawan: mmm… kalo itu belum bisa mas… Sementara harus manual dulu.

  124. ari says:

    Mas Rosihan Mau tanya ni, Kalo pengen ditambah Summarynya gimana ya mas ?

  125. rosihanari says:

    @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.

  126. ari says:

    Oh iya, Sekarang saya sudah mengerti Mas Rosihan, terima kasih atas bantuan serta tutorialnya. semoga tetap SUKSES

  127. aga says:

    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.,.,

  128. arlo says:

    artikel yg sangat-sangat-sangat berguna dan mudah dipahami, step by step … trima kasih …

  129. rosihanari says:

    @aga: belum bisa tuh mas saya….

  130. uki says:

    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.

  131. rosihanari says:

    @uki: saya belum bisa yg spt mas, kalau selama ini ya saya melakukan merge secara manual setelah file diexport.

  132. freddo says:

    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….

  133. rosihanari says:

    @freedo: maaf mas, saya belum ketemu jawabannya… maaf ya…

  134. 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.

  135. 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?

  136. rosihanari says:

    @putri chairina: belum ketemu mbak solusinya…. :-)

  137. pak dar says:

    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

  138. rosihanari says:

    @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.

  139. Bolink says:

    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.

  140. rosihanari says:

    @bolink: maaf mas, untuk multi sheet saya belum pernah tahu caranya.

  141. bejo says:

    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.

  142. uciL says:

    mas,koq unable to read? kenapa yah

    mohon pencerahan

  143. rosihanari says:

    @ucil: unable to read itu biasanya terjadi karena ada tanda petik di data dalam database. Solusinya dihilangkan dulu tanda petik di dalam data nya

  144. rosihanari says:

    @bejo: coba Anda lihat di database apakah ada data yang di dalamnya terdapat tanda petik? jika ada, coba hilangkan dulu.

  145. uciL says:

    kalo garis miring juga ngga bisa yah mas?

  146. uciL says:

    pake cara lain,ngga bisa rapih datanya mas,
    tapi klo pake cara ini masih aja unable to read mas

  147. rosihanari says:

    @ucil: garis miring bisa mas..

  148. edi mursadi says:

    mas tolong skrip agar yg ditampilkan diexcel dalam bentuk tabel dan menentukan lebar kertas agar ketika diprint klo karakter huruf yg diimput tidak terpotong

  149. Luckman R says:

    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

  150. zakaria says:

    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.

  151. meckymouse says:

    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

  152. rosihanari says:

    @meckymouse: wah kalo dalam satu file export tdpt bbrp sheet saya belum coba.

  153. rosihanari says:

    @zakaria: waduh… apa tuh ya maksud errornya?? rekans ada yang tahu??

  154. 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

  155. rosihanari says:

    @agung nugroho: wah.. itu bisa jadi krn ada error di scriptnya mas. Untuk detil errornya apa, silakan lihat di Error Logs di Cpanel hostingnya.

  156. mysql_fetch_array(): di salahkan ini kang. padahal kalau saya coba di localhost bisa jalan kang

  157. 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)

  158. rosihanari says:

    @didi firmansyah: memang untuk script di atas tidak bisa untuk mengatur format tampilan mas, mesti manual.

  159. didi firmansyah says:

    makasih mas, ku dah dapet tutorialnya pake classexel …

  160. monahelisa says:

    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

  161. rosihanari says:

    @monahelisa: wah kalo dah beda formatnya, beda lagi prosesnya. Untuk yang ini saya blm ada ide…

  162. rahmat says:

    Mas saya kan udah nyoba export ke excel dengan php, cuma saya pengen di header Kolomnya ada warna..

  163. rosihanari says:

    @rahmat: kalo dengan script di atas memang gak bisa mas, coba cari referensi lain ya… kalo ketemu kasih tau saya. thanks…

  164. Jimmy says:

    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..

  165. bio_rider_rx says:

    good pak script-nya…

    oia pak..???
    bikin tutorial ajax donk untuk pemula bgt…
    dari program yang mudah ampe sedeng…

  166. ariyo says:

    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

  167. rosihanari says:

    @bio_rider_rx: ya mudah2an bisa terwujud kelak :-)

  168. canggih says:

    Wah.. makasih banyak ya.. ^_^

  169. anto says:

    mas kenapa ya pas di download berhasil tapi pas di buka file reportnya corupt

  170. randi says:

    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…

  171. rosihanari says:

    @randi: gunakan label saja mas. Jam anda gunakan function PHP date(“H:i:s”), lalu hasilnya Anda taruh di excel dg label.

  172. rosihanari says:

    @anto: barangkali ada tanda petik atau / di dalam datanya mas.



Tolong beri komentar donk!

Komentar Anda akan berguna untuk kemajuan blog ini.


Mohon maaf, komentar yang menggunakan email palsu atau komentar bernada negatif atau cemooh secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil dalam daftar komentar.

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word