PHPEXCEL adalah Perpustakaan Kelas Generasi Dokumen MS Excel Office yang sangat kuat. Ketika diperlukan untuk mengeluarkan data format yang relatif kompleks, PHPExcel adalah pilihan yang baik. Namun, penggunaannya relatif rumit. Buat daftar untuk merekamnya.
Salinan kode adalah sebagai berikut:
<?
// Atur jalur sertakan dari pustaka kelas phpexcel
set_include_path ('.'. Path_separator.
'D:/Zeal/php_libs'. Path_separator.
get_include_path ());
/**
* Berikut ini adalah contoh penggunaan. Untuk garis yang dimulai dengan ////, ada metode opsional yang berbeda. Harap gunakan sesuai dengan kebutuhan aktual.
* Buka komentar di baris yang sesuai.
* Jika menggunakan Excel5, output harus dikodekan GBK.
*/
membutuhkan_once 'phpexcel.php';
// uncomment
//// membutuhkan_once 'phpexcel/writer/excel5.php'; // Digunakan untuk versi XLS lainnya yang lebih rendah
// atau
//// membutuhkan_once 'phpexcel/writer/excel2007.php'; // untuk format Excel-2007
// Buat contoh objek pemrosesan
$ objexcel = phpexcel baru ();
// Buat format file untuk menulis instance objek, uncomment
//// $ objwriter = phpexcel_writer_excel5 baru ($ objexcel); // digunakan untuk format versi lainnya
// atau
//// $ objwriter = phpexcel_writer_excel2007 baru ($ objexcel); // untuk format 2007
// $ objwriter-> setoffice2003Compatibility (true);
// ***************************************************************
// Atur properti dokumen dasar
$ objprops = $ objexcel-> getProperties ();
$ objprops-> setCreator ("Zeal li");
$ objprops-> setLastModifiedBy ("Zeal Li");
$ objprops-> settitle ("Office XLS Test Document");
$ objprops-> setSubject ("Dokumen Uji Office XLS, Demo");
$ objprops-> setDescription ("Dokumen uji, dihasilkan oleh Phpexcel.");
$ objprops-> setKeyWords ("Office Excel Phpexcel");
$ objprops-> setCategory ("test");
// ***************************************************************
// Atur indeks lembar saat ini untuk operasi konten selanjutnya.
// Umumnya, panggilan hanya diperlukan ketika beberapa lembar digunakan.
// Secara default, Phpexcel akan secara otomatis membuat lembar pertama dan mengatur sheetIndex = 0
$ objexcel-> setActivesheetIndex (0);
$ objactsheet = $ objexcel-> getActivesheet ();
// Atur nama lembar aktif saat ini
$ objactsheet-> setTitle ('Lembar Uji');
// ***************************************************************
// Atur konten sel
//
// phpexcel secara otomatis menentukan jenis konten sel berdasarkan konten yang masuk
$ objactsheet-> setCellValue ('a1', 'string konten'); // konten string
$ objactsheet-> setCellValue ('A2', 26); // Nilai
$ objactsheet-> setCellValue ('a3', true); // Nilai Boolean
$ objactsheet-> setCellValue ('a4', '= sum (a2: a2)'); // Formula
// Penjelasan Tentukan jenis konten
$ objactsheet-> setCellValueExplicit ('A5', '847475847857487584',
Phpexcel_cell_datatype :: type_string);
// Gabungkan sel
$ objactsheet-> mergecells ('b1: c22');
// sel pisahkan
$ objactsheet-> unmergecells ('b1: c22');
// ***************************************************************
// Setel gaya sel
//
// atur lebar
$ objactsheet-> getColumnDimension ('b')-> setautosize (true);
$ objactsheet-> getColumnDimension ('a')-> setWidth (30);
$ objstylea5 = $ objactsheet-> getStyle ('a5');
// Atur format angka konten sel.
//
// Jika phpexcel_writer_excel5 digunakan untuk menghasilkan konten,
// Perhatikan di sini bahwa variabel const yang didefinisikan dalam kelas phpexcel_style_numberformat
// Di antara berbagai metode pemformatan khusus, jenis lain dapat digunakan secara normal, tetapi saat setFormatCode
// Saat format_number, efek aktual tidak diatur ke "0". membutuhkan
// Ubah metode GETXF ($ style) dalam kode sumber kelas Phpexcel_writer_excel5_Format,
// tambahkan satu sebelum if ($ this-> _ biff_version == 0x0500) {(dekat baris 363)
// Kode baris:
// if ($ ifmt === '0') $ ifmt = 1;
//
// Atur format ke phpexcel_style_numberformat :: format_number untuk menghindari beberapa angka besar
// Ini ditampilkan menggunakan metode penghitungan ilmiah. Sehubungan dengan metode setautosize berikut, konten dari setiap baris dapat dibuat
// Semua ditampilkan sesuai dengan konten asli.
$ objstylea5
-> getNumberFormat ()
-> setFormatCode (phpexcel_style_numberformat :: format_number);
// Atur font
$ objfonta5 = $ objstylea5-> getFont ();
$ objfonta5-> setName ('Courier New');
$ objfonta5-> setsize (10);
$ objfonta5-> setBold (true);
$ objfonta5-> setunderline (phpexcel_style_font :: underline_single);
$ objfonta5-> getColor ()-> setargb ('ff9999999');
// Atur penyelarasan
$ objaligna5 = $ objstylea5-> getalignment ();
$ objaligna5-> sethorizontal (phpexcel_style_alignment :: horizontal_right);
$ objaligna5-> setVertical (phpexcel_style_alignment :: vertikal_center);
// atur perbatasan
$ objbordera5 = $ objstylea5-> getBorders ();
$ objbordera5-> getTop ()-> setBorderstyle (phpexcel_style_border :: border_thin);
$ objbordera5-> getTop ()-> getColor ()-> setArgb ('ffff0000'); // warna
$ objbordera5-> getbottom ()-> setBorderstyle (phpexcel_style_border :: border_thin);
$ objbordera5-> getleft ()-> setBorderstyle (phpexcel_style_border :: border_thin);
$ objbordera5-> getRight ()-> setBorderstyle (phpexcel_style_border :: border_thin);
// Atur Warna Isi
$ objfilla5 = $ objstylea5-> getFill ();
$ objfilla5-> setFillType (phpexcel_style_fill :: fill_solid);
$ objfilla5-> getStartColor ()-> setArgb ('ffeeeee');
// Salin informasi gaya dari sel yang ditentukan.
$ objactsheet-> duplicatestyle ($ objstylea5, 'b1: c22');
// ***************************************************************
// Tambahkan gambar
$ objDrawing = phpexcel_worksheet_drawing () baru;
$ objDrawing-> setName ('fyealimg');
$ objdrawing-> setDescription ('gambar dimasukkan oleh semangat');
$ objdrawing-> setPath ('./ Zeali.net.logo.gif');
$ OBJDRAWING-> SetHeight (36);
$ objDrawing-> setCoordinates ('c23');
$ objDrawing-> setoffsetx (10);
$ objDrawing-> setRotation (15);
$ objDrawing-> getShadow ()-> setVisible (true);
$ objDrawing-> getShadow ()-> setDirection (36);
$ objDrawing-> setWorksheet ($ objactsheet);
// tambahkan lembar kerja baru
$ objexcel-> createSheet ();
$ objexcel-> getsheet (1)-> setTitle ('test 2');
// Lindungi sel
$ objexcel-> getsheet (1)-> getProtection ()-> setSheet (true);
$ objexcel-> Getsheet (1)-> ProtectCells ('A1: C22', 'Phpexcel');
// ***************************************************************
// konten output
//
$ outputFileName = "output.xls";
// untuk mengajukan
//// $ objwriter-> save ($ outputFileName);
//atau
// ke browser
//// header ("tipe konten: aplikasi/force-download");
//// header ("tipe konten: aplikasi/octet-stream");
//// header ("tipe konten: aplikasi/unduh");
////header('content-disposition:inline; fileName="'.$outputFileName. '"');
//// header ("Content-Transfer -encoding: Binary");
//// header ("Kedaluwarsa: Mon, 26 Jul 1997 05:00:00 GMT");
//// header ("Modifikasi Terakhir:". Gmdate ("D, D Myh: I: S"). "GMT");
//// header ("Cache-Control: Must-Revalidate, Post-check = 0, pre-check = 0");
//// header ("Pragma: no-cache");
//// $ objwriter-> save ('php: // output');
?>