cari
Rumahpembangunan bahagian belakangtutorial phpMenjana fail dan carta Excel dengan phpexcel

Menjana fail dan carta Excel dengan phpexcel

Selepas artikel saya "Cara Membuat Dokumen Microsoft Word dengan PHP" (Menggunakan keupayaan Interop di bawah Windows), terdapat beberapa komen yang menggesa pelaksanaan PHP tulen, iaitu, hanya menggunakan perpustakaan PHP sejagat untuk memanipulasi fail pejabat.

Dalam artikel ini, kita akan melihat cara menggunakan perpustakaan phpexcel untuk menyediakan fungsi "eksport ke excel" dalam aplikasi web supaya pengguna dapat mengeksport data ke dalam fail Excel 2007/2013 untuk analisis selanjutnya.

NOTA: Terdapat beberapa perpustakaan PHP yang dapat memberikan manipulasi fail Excel (dan Office). Lib yang kami gunakan di sini dipanggil PhPExcel, subset phpoffice, yang boleh diklon di sini.

Takeaways Key

    phpexcel, subset phpoffice, membolehkan manipulasi PHP tulen fail Excel, mengelakkan keperluan untuk ketergantungan interop dan tingkap.
  • Tutorial menunjukkan membuat fail Excel dengan data permainan, analisis tambahan, dan carta menggunakan phpexcel untuk meningkatkan pembentangan dan analisis data.
  • Persediaan yang diperlukan termasuk versi PHP di atas 5.2.0, membolehkan sambungan PHP tertentu, dan menggunakan komposer untuk pemasangan PHPExcel.
  • PHPExcel membolehkan manipulasi fail Excel terperinci termasuk menetapkan sifat, memaparkan lembaran kerja, memasukkan formula, dan membuat carta visual yang menarik.
  • Output akhir melibatkan menyimpan fail Excel dalam format yang boleh dimuat turun, memastikan carta dimasukkan, dengan nota pada ketidakupayaan semasa PHPExcel untuk mengendalikan carta pai dengan berkesan dalam Excel 2013.
Objektif

Selepas tutorial ini, kami akan mendapat:

    Lembaran yang menunjukkan maklumat permainan (tarikh dimainkan, pasukan, skor, menang/kehilangan status) pasukan NBA kegemaran saya-LA Lakers, dalam musim 2013-14.
  • Butang yang akan mengeksport data ke dalam fail Excel 2013.
  • fail Excel akan dihuni dengan beberapa data analitik tambahan dan carta yang juga dihasilkan oleh PHP dan Excel.
mari kita mulakan.

Penyediaan

Untuk menggunakan phpexcel, kita mesti mempunyai versi PHP di atas 5.2.0. Terdapat juga 3 sambungan PHP yang akan didayakan: php_zip (yang penting untuk mengendalikan format Office 2007), php_xml dan php_gd2 (pilihan, tetapi diperlukan untuk penjenayah lebar lajur yang tepat).

Seterusnya, pasang perpustakaan melalui komposer.

Sudah tentu, kita harus mempunyai pangkalan data kita dan berjalan. Dump data untuk tutorial ini (Lakers.sql) telah dimuat naik ke repo yang berkaitan dengan artikel ini. Data ini diambil dengan pernyataan SQL yang mudah: "Pilih * dari Lakers" (jumlah 90 rekod, termasuk 8 pra-musim dan 82 permainan musim biasa).

Juga, demo ini menggunakan Silex sebagai rangka kerja MVC. Twig akan digunakan sebagai enjin templat. Pastikan kebergantungan yang diperlukan ditentukan dengan betul dalam fail komposer.json anda.

Fail indeks

index.php akan menjadi titik masuk untuk aplikasi SILEX kami. Akan ada dua laluan yang ditakrifkan:

<span>$app->get('/', function () use ($app)
</span><span>{
</span>    <span>$c=new trExcel<span>\Excel</span>();
</span>    <span>return $c->index($app);
</span><span>});
</span>
<span>$app->post('/export', function () use ($app)
</span><span>{
</span>    <span>$c=new trExcel<span>\Excel</span>();
</span>    <span>return $c->export($app);
</span><span>});</span>

Route '/' akan menjadi titik masuk kami dan memaparkan data dan butang "Eksport". Laluan '/Eksport' akan melakukan proses pengendalian akhir belakang yang sebenarnya mengeksport ke Excel. Kedua-dua fungsi dibungkus dalam kelas yang ditentukan pengguna (classexcel.php). Dalam artikel ini, kami akan memberi tumpuan kepada fail ini - atau lebih tepatnya, fungsi eksport dan fungsi berkaitan yang ditakrifkan dalam fail ini dan membincangkan beberapa aspek penting dalam manipulasi Excel menggunakan perpustakaan phpexcel.

aplikasi Excel dan data meta

Apabila kita mengklik ikon untuk melancarkan Excel, aplikasi Excel bermula. Di bawah keadaan biasa, ia juga akan mengandungi buku kerja dengan 3 (dalam Excel 2013, hanya 1) lembaran kerja. Lembaran kerja adalah "kanvas" yang kita mainkan. Ini adalah dua istilah yang paling penting dalam Excel. Istilah penting lain mungkin termasuk: sel, julat, dan lain -lain

Untuk meneliti fail Excel, kami menggunakan:

<span>$ea = new <span>\PHPExcel</span>(); // ea is short for Excel Application</span>

Contoh aplikasi Excel biasanya dipetakan ke fail Excel fizikal. Ia mempunyai data meta sendiri untuk menerangkan fail yang kami buat. Data meta ditunjukkan apabila kita "memasuki" fail excel (atau klik kanan pada fail itu dan pilih "Properties"):

Menjana fail dan carta Excel dengan phpexcel

Ciri -ciri yang ditunjukkan dalam dialog di atas akan mempunyai kaedah setxxxx yang sepadan untuk menetapkan sifat -sifat ini, di mana xxxx hampir sama dengan nama harta yang disenaraikan dalam dialog:

<span>$ea->getProperties()
</span>   <span>->setCreator('Taylor Ren')
</span>   <span>->setTitle('PHPExcel Demo')
</span>   <span>->setLastModifiedBy('Taylor Ren')
</span>   <span>->setDescription('A demo to show how to use PHPExcel to manipulate an Excel file')
</span>   <span>->setSubject('PHP Excel manipulation')
</span>   <span>->setKeywords('excel php office phpexcel lakers')
</span>   <span>->setCategory('programming')
</span>   <span>;</span>
Kaedah (setxxxx) cukup penjelasan dan peta ke dialog "Properties" dengan baik. Terdapat beberapa percanggahan dalam pemetaan, tetapi mereka tidak terlalu sukar bagi kita untuk membuat sambungan (mis., "Penulis" akan dipetakan ke setCreator).

lembaran kerja dan populasi sel

Lembaran kerja mungkin objek yang kita akan memanipulasi yang paling banyak: Sel -sel populasi dengan data atau formula, menggunakan gaya, melakukan penapisan data, memasukkan carta, dan lain -lain

Untuk mendapatkan rujukan kepada lembaran kerja, kami menggunakan:

<span>$ews = $ea->getSheet(0);
</span><span>$ews->setTitle('Data');</span>
Lembaran dalam buku kerja sentiasa 0-diindeks. Jadi lembaran pertama (dan sehingga kini satu -satunya) akan menjadi lembaran sifar. Nama lalai lembaran ini sentiasa "lembaran kerja" dan kita boleh mengubahnya dengan kaedah settitle.

Untuk mengisi sel/sel, kita mempunyai sekurang -kurangnya dua pilihan:

    Untuk tajuk, tajuk, item deskriptif lain, kami akan mengisi mereka satu demi satu menggunakan kaedah setCellValue.
  1. Untuk data berstruktur, yang kebanyakannya berasal dari pernyataan SQL Select, kami akan menggunakan kaedah FromArray.
<span>$ews->setCellValue('a1', 'ID'); // Sets cell 'a1' to value 'ID 
</span>    <span>$ews->setCellValue('b1', 'Season');
</span>	<span>...
</span>    <span>//Fill data 
</span>    <span>$ews->fromArray($data, ' ', 'A2');</span>
Kaedah FromArray mengambil 3 parameter:

1. Sumber data, dalam bentuk array;
2. Nilai "pengisi" sekiranya data adalah batal;
3. Rujukan sel untuk memulakan pengisian (dari kiri ke kanan, kemudian ke bawah).

nota: Apabila kita menggunakan PDO untuk mengambil data, mudah $ res = $ q-> fetchall (pdo :: fetch_assoc); Panggilan akan memaksa data hasil yang dikembalikan untuk mengandungi array yang berkaitan sahaja, tanpa indeks. Jika fetchall dipanggil tanpa pilihan pdo :: fetch_assoc, set hasil sebenarnya akan mengandungi dua set data yang sama, satu dalam bentuk array yang berkaitan, satu dalam bentuk yang diindeks dan akan membuat pendua dalam fail Excel apabila menggunakan fromArray.

Kami juga mungkin mahu gaya baris header (id, musim, dll). Untuk melakukan itu, kami juga mempunyai dua cara:

<span>$app->get('/', function () use ($app)
</span><span>{
</span>    <span>$c=new trExcel<span>\Excel</span>();
</span>    <span>return $c->index($app);
</span><span>});
</span>
<span>$app->post('/export', function () use ($app)
</span><span>{
</span>    <span>$c=new trExcel<span>\Excel</span>();
</span>    <span>return $c->export($app);
</span><span>});</span>

Salah satu cara adalah menggunakan beberapa kaedah mendapatkan untuk mendapatkan objek gaya yang kita mahu mengubah dan mengubahnya. Kami melakukan ini untuk gaya "Latar Belakang".

yang lain adalah untuk mengisytiharkan array "gaya" dan tentukan gaya yang kita mahu ubah dan apa yang harus mengubahnya. Kemudian, kami menggunakan ApplyFromArray untuk memohon gaya dalam kumpulan. Di sini kita menukar fon dan penjajaran.

Kedua -dua kaedah menyokong julat sebagai parameter mereka ($ header = 'a1: h1';), yang sangat mudah.

Akhirnya, kita mungkin mahu menyesuaikan lebar lajur supaya mereka sesuai dengan panjang yang dipaparkan dalam setiap lajur:

<span>$ea = new <span>\PHPExcel</span>(); // ea is short for Excel Application</span>

Malangnya, ini tidak menyokong parameter pelbagai, jadi kami menggunakan gelung untuk membuat ini berlaku.

Jika kita menyimpan fail sekarang - kita akan membincangkan penjimatan kemudian - kita akan melihat bahawa fail XLSX diisi dengan data dan diformat dengan betul:

Menjana fail dan carta Excel dengan phpexcel

Menambah lembaran lain dan memasukkan formula

Saya sentiasa menggunakan lembaran berasingan untuk menyimpan data asal dan sekurang -kurangnya satu lagi lembaran untuk memaparkan ringkasan dan/atau maklumat analisis.

Untuk memasukkan lembaran kerja baru, kami lakukan:

<span>$ea->getProperties()
</span>   <span>->setCreator('Taylor Ren')
</span>   <span>->setTitle('PHPExcel Demo')
</span>   <span>->setLastModifiedBy('Taylor Ren')
</span>   <span>->setDescription('A demo to show how to use PHPExcel to manipulate an Excel file')
</span>   <span>->setSubject('PHP Excel manipulation')
</span>   <span>->setKeywords('excel php office phpexcel lakers')
</span>   <span>->setCategory('programming')
</span>   <span>;</span>
Kaedah addSheet mengambil dua parameter.

    $ ews2: contoh lembaran kerja excel yang kita hendak memasukkan;
  • $ Lokasi: Indeks lembaran kerja ini. Jadi 0 bermakna ia harus menjadi yang pertama. -1 bermaksud ia harus menjadi yang terakhir.
Dengan lembaran kerja yang dimasukkan, kita boleh mengisi sel -sel dalam lembaran kerja ini seperti biasa dan memohon gaya. Dalam helaian ini, kami akan menggunakan formula:

<span>$ews = $ea->getSheet(0);
</span><span>$ews->setTitle('Data');</span>
anda lihat, ia tidak berbeza dengan apa yang telah kami lakukan di bahagian sebelumnya. Rentetan formula sama seperti yang kita akan masukkan dalam fail Excel untuk melakukan pengiraan yang diperlukan.

Nota: Sila beri perhatian khusus kepada rujukan sel (G2: G91). Cara yang malas menulis formula itu adalah menggunakan pelbagai seperti G: G. Ini berfungsi dengan baik apabila tiada carta dalam lembaran. Sekiranya terdapat carta, n notasi G: G akan gagal, membuang pengecualian.

Lembaran "Ringkasan" ini kelihatan seperti ini:

Menjana fail dan carta Excel dengan phpexcel % yang ditunjukkan dalam sel B4 ditetapkan oleh kod berikut:

Sila ambil perhatian beberapa isu gaya di sini. Untuk A1, saya telah menggunakan gaya berikut:
<span>$ews->setCellValue('a1', 'ID'); // Sets cell 'a1' to value 'ID 
</span>    <span>$ews->setCellValue('b1', 'Season');
</span>	<span>...
</span>    <span>//Fill data 
</span>    <span>$ews->fromArray($data, ' ', 'A2');</span>
<span>$app->get('/', function () use ($app)
</span><span>{
</span>    <span>$c=new trExcel<span>\Excel</span>();
</span>    <span>return $c->index($app);
</span><span>});
</span>
<span>$app->post('/export', function () use ($app)
</span><span>{
</span>    <span>$c=new trExcel<span>\Excel</span>();
</span>    <span>return $c->export($app);
</span><span>});</span>

Hasilnya menunjukkan bahawa berat fon, saiz fon, dan penjajaran digunakan dengan betul. Penggabungan A1 dan B1 ke A1 juga dilakukan dengan betul. Tetapi, kaedah setAutosize gagal pada sel yang digabungkan ini. Hasilnya ialah sel ini (A1) masih diperah. Ini bermakna pengiraan lebar auto tidak akan selalu berfungsi. Nah, bukan masalah besar.

gambar bernilai seribu perkataan

Ia sentiasa baik untuk mempunyai perwakilan visual data kami, jadi carta akan berguna. Excel mempunyai set carta terbina dalam yang kaya untuk kami pilih. PHPExcel boleh memanfaatkan hampir semua ini. Carta pertama yang kita buat adalah carta garis yang menunjukkan peningkatan skor dalam setiap permainan pasukan Lakers dan lawannya.

Membuat carta adalah pekerjaan pengekodan yang panjang, walaupun dengan sokongan perpustakaan. Kod penuh proses ini boleh didapati dalam kaedah AddChart1 dan AddChart2 yang berada dalam fail classexcel.php kami. Saya hanya akan menerangkan langkah -langkah utama.

  • Label Siri Data
Label Siri Data mengenal pasti siri data dengan memberikan nama (label). Dalam kes kita, jika kita mahu menunjukkan banyak Lakers dan lawan mereka, kita melihat dua label: skor diri dan skor lawan. Label mereka boleh didapati di D1 dan E1 masing -masing:

<span>$ea = new <span>\PHPExcel</span>(); // ea is short for Excel Application</span>
Label siri data sebenarnya adalah contoh phpexcel_chart_dataseriesvalues. Pembina mengandungi empat parameter:

    Jenis. Untuk label, tidak syak lagi ia harus "String";
  1. Sumber. Ia berada di D1 atau E1;
  2. format. Biasanya, menyediakan null adalah mencukupi dan format lalai akan digunakan;
  3. hitung. Berapa banyak data dalam sumber. Ia biasanya menjadi 1.

    x label nilai paksi
Ini mengenal pasti label untuk paksi x. Sebagai contoh, pada "2013-11-15", Lakers menjaringkan 86 dan lawan mereka menjaringkan 89. "2013-11-15" adalah label untuk kedua-dua skor tersebut. Untuk kes kami, kami akan menggunakan lajur "Tarikh Dimainkan" dari baris 2 hingga baris 91:

<span>$ea->getProperties()
</span>   <span>->setCreator('Taylor Ren')
</span>   <span>->setTitle('PHPExcel Demo')
</span>   <span>->setLastModifiedBy('Taylor Ren')
</span>   <span>->setDescription('A demo to show how to use PHPExcel to manipulate an Excel file')
</span>   <span>->setSubject('PHP Excel manipulation')
</span>   <span>->setKeywords('excel php office phpexcel lakers')
</span>   <span>->setCategory('programming')
</span>   <span>;</span>
Pembina adalah sama, begitu juga parameter.

    Nilai Siri Data
  • Kami akan menggunakan "Skor Sendiri" (lajur D) dan "Skor lawan" (lajur E). Kedua -duanya adalah dari baris 2 hingga baris 91.

Selepas kita mempunyai 3 pembolehubah kritikal di atas, kita boleh menubuhkan siri data. Dalam Excel, siri data mengandungi maklumat berikut yang penting untuk membuat carta:
<span>$ews = $ea->getSheet(0);
</span><span>$ews->setTitle('Data');</span>

Jenis carta
  • kumpulan
  • Mengira nilai siri data
  • Label Siri Data
  • x label nilai paksi
  • Nilai Siri Data
  • dan pembina dipanggil dengan hanya lulus semua parameter ini:

Seterusnya, kami akan membuat kawasan plot dan legenda:

<span>$app->get('/', function () use ($app)
</span><span>{
</span>    <span>$c=new trExcel<span>\Excel</span>();
</span>    <span>return $c->index($app);
</span><span>});
</span>
<span>$app->post('/export', function () use ($app)
</span><span>{
</span>    <span>$c=new trExcel<span>\Excel</span>();
</span>    <span>return $c->export($app);
</span><span>});</span>

Kawasan plot mengandungi susun atur carta dan siri data. Susun atur boleh menentukan sama ada carta akan menunjukkan nilai, peratusan, dan lain -lain. Kita boleh menggunakan null supaya susun atur lalai akan digunakan.

Legenda digunakan untuk menyediakan perwakilan visual kumpulan data.

Dan sekarang, akhirnya, kita boleh membuat carta:

<span>$ea = new <span>\PHPExcel</span>(); // ea is short for Excel Application</span>

satu -satunya parameter baru dalam pembina ini ialah nama carta. "Chart1" akan cukup baik. Tajuk carta boleh dibuat melalui:

<span>$ea->getProperties()
</span>   <span>->setCreator('Taylor Ren')
</span>   <span>->setTitle('PHPExcel Demo')
</span>   <span>->setLastModifiedBy('Taylor Ren')
</span>   <span>->setDescription('A demo to show how to use PHPExcel to manipulate an Excel file')
</span>   <span>->setSubject('PHP Excel manipulation')
</span>   <span>->setKeywords('excel php office phpexcel lakers')
</span>   <span>->setCategory('programming')
</span>   <span>;</span>

Selepas carta dibuat, kami menetapkan kedudukan dan saiznya dengan menetapkan koordinat sudut kanan dan bawah kanannya dan memasukkannya ke dalam lembaran kerja.

Nota: Kebanyakan masa, rujukan sel adalah kes tidak sensitif, tetapi sila gunakan nombor huruf modal apabila terdapat carta dalam lembaran.

Simpan fail

Sebagai langkah terakhir, kami menyimpan fail supaya pengguna dapat memuat turunnya:

<span>$ews = $ea->getSheet(0);
</span><span>$ews->setTitle('Data');</span>

Ia menggunakan corak kilang untuk membuat objek penulis untuk menyimpan fail. Format akan ditentukan (kami menggunakan format "Excel2007" dalam kes kami).

Pastikan kami mempunyai setIncludecharts (benar) dalam proses penjimatan, jika tidak, carta tidak akan berada di sana.

Ingat ketika saya berkata Phpexcel boleh memanfaatkan hampir semua jenis carta? Satu pengecualian bahawa lib ini tidak dapat dilakukan dengan baik di Excel 2013 adalah bahawa ia tidak menghasilkan carta pai yang boleh digunakan. Dalam output.xlsx kami dan kod kami, kami sebenarnya telah membuat carta pai (dilakukan di AddChart1) tetapi apabila membuka output.xlsx, Excel 2013 akan mendorong ralat. Jika kita memilih terus, carta pai akan hilang dan hanya carta baris (dilakukan di AddChart2) akan dipelihara. Laporan bug telah difailkan ke repo gitnya.

sekarang lembaran "data" akan kelihatan seperti ini:

Menjana fail dan carta Excel dengan phpexcel

dan pandangan zum carta. Ia diposisikan dengan betul dan bersaiz:

Menjana fail dan carta Excel dengan phpexcel Kesimpulan

Dalam artikel ini, kami menunjukkan cara menggunakan php tulen dan php lib tulen (phpexcel) untuk memanipulasi excel. Kami mencipta fail baru, memadamkan data, ditambah dalam lembaran baru dan data analitik, memasukkan carta, dan akhirnya menyimpan fail untuk dimuat turun.

Secara umum, saya dapati phpexcel lib ini patut dicuba dan mudah dipelajari. Wawasan kodnya dalam IDE dapat membantu kita banyak ketika pengaturcaraan.

Kami tidak meliputi ciri -ciri umum lain dalam fail Excel - kami akan menulis artikel susulan mengenai mereka jika minatnya cukup tinggi. Beritahu kami!

Dokumentasi rasminya dan contohnya adalah tempat yang bagus untuk mencari penjelasan penggunaan API terperinci dan coretan kod yang boleh dilaksanakan untuk tugas -tugas yang sama. Bacalah mereka dengan teliti. Mereka boleh didapati di repo klon. Beri perpustakaan ini cuba dan beritahu kami tentang kes penggunaan anda sendiri!

Soalan Lazim (Soalan Lazim) Mengenai Menjana Fail Excel dan Carta dengan PHPExcel

Bagaimana saya boleh memasang phpexcel dalam projek saya?

Untuk memasang phpexcel dalam projek anda, anda perlu menggunakan komposer, alat pengurusan ketergantungan dalam php. Pertama, anda perlu memasang komposer jika anda belum melakukannya. Selepas memasang komposer, navigasi ke direktori projek anda di terminal dan jalankan komposer perintah memerlukan phpoffice/phpexcel. Perintah ini akan memuat turun dan memasang phpexcel dalam projek anda.

Bagaimana saya boleh membuat fail excel asas menggunakan phpexcel?

Untuk membuat fail Excel asas menggunakan phpexcel, anda perlu terlebih dahulu membuat contoh kelas phpexcel. Kemudian, anda boleh menetapkan sifat fail Excel seperti tajuk, keterangan, dan pengarang. Selepas itu, anda boleh menambah data ke fail Excel dengan mengakses sel dan menetapkan nilai mereka. Akhirnya, anda boleh menyimpan fail Excel dengan membuat penulis dan memanggil kaedah simpan.

Bagaimana saya boleh menambah carta ke fail Excel menggunakan phpexcel? Fail Menggunakan PHPExcel, anda perlu terlebih dahulu membuat siri data. Siri data mewakili data yang akan dipaparkan dalam carta. Selepas membuat siri data, anda boleh membuat carta dan menambah siri data kepadanya. Kemudian, anda boleh menetapkan sifat carta seperti tajuk dan legenda. Akhirnya, anda boleh menambah carta ke lembaran kerja dengan memanggil kaedah AddChart.

Bagaimana saya boleh membaca data dari fail Excel menggunakan phpexcel? Anda perlu terlebih dahulu membuat pembaca. Pembaca bertanggungjawab untuk membuka fail Excel dan membaca kandungannya. Selepas membuat pembaca, anda boleh memuatkan fail Excel dengan memanggil kaedah beban. Kemudian, anda boleh mengakses data dalam fail Excel dengan mengakses sel dan mendapatkan nilai mereka. Fail Excel sedia ada menggunakan PHPExcel, anda perlu terlebih dahulu membuat pembaca dan memuatkan fail Excel. Kemudian, anda boleh mengakses sel -sel dalam fail Excel dan menetapkan nilai mereka. Selepas mengubahsuai data, anda boleh menyimpan perubahan dengan membuat penulis dan memanggil kaedah simpan. Kaedah untuk memformat sel dalam fail Excel. Anda boleh menetapkan fon, warna, penjajaran, sempadan, dan format nombor sel. Anda juga boleh menggabungkan sel, menetapkan lebar dan ketinggian sel, dan gunakan gaya ke sel.

Bagaimana saya boleh mengendalikan fail excel yang besar menggunakan phpexcel? boleh mencabar kerana batasan memori. Walau bagaimanapun, PHPExcel menyediakan ciri caching sel yang dapat membantu mengurangkan penggunaan memori. Dengan membolehkan caching sel, PHPExcel akan menyimpan data sel dalam cache dan bukannya memori, yang dapat mengurangkan penggunaan memori dengan ketara.

Bagaimana saya boleh menjana PDF dari fail Excel menggunakan phpexcel?

phpexcel menyokong menjana PDF dari fail Excel. Untuk menjana PDF, anda perlu membuat penulis jenis PDF dan hubungi kaedah SAVE. Ambil perhatian bahawa anda perlu mempunyai perpustakaan rendering PDF yang sesuai yang dipasang dalam projek anda.

Bagaimana saya boleh menambah imej ke fail excel menggunakan phpexcel? . Untuk menambah imej, anda perlu membuat objek lukisan, menetapkan laluan imej, dan tentukan koordinat di mana imej harus diletakkan di dalam lembaran kerja.

PHPExcel menggunakan pengecualian untuk mengendalikan kesilapan. Apabila kesilapan berlaku, PHPExcel akan membuang pengecualian. Anda boleh menangkap pengecualian ini menggunakan blok percubaan dan mengendalikannya dengan sewajarnya. Ini membolehkan anda mengawal aliran program anda dan memberikan mesej ralat yang bermakna kepada pengguna.

Atas ialah kandungan terperinci Menjana fail dan carta Excel dengan phpexcel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Apakah perbezaan antara unset () dan session_destroy ()?Apakah perbezaan antara unset () dan session_destroy ()?May 04, 2025 am 12:19 AM

ThedifferenceBetweenUnset () andSession_destroy () isThatunset () clearsspecificSessionVariableswhileKeepingTheSessionActive, sedangkan assesion_destroy () terminatestheentiressies.1)

Apakah Sesi Sticky (Affinity Sesi) dalam konteks pengimbangan beban?Apakah Sesi Sticky (Affinity Sesi) dalam konteks pengimbangan beban?May 04, 2025 am 12:16 AM

StickySessionseSenseSerRequestSarerOutedTotheseServerForSessionDataConsistency.1) sessionentificationassignsuserverserversusingciesorurlmodifications.2) consistentroutingdirectssubsequentrequeststotheserver.3) loadbalansingdistributesNewuser

Apakah sesi yang berbeza menyimpan pengendali yang terdapat di PHP?Apakah sesi yang berbeza menyimpan pengendali yang terdapat di PHP?May 04, 2025 am 12:14 AM

Phpoffersvarioussessionsavehandlers: 1) Fail: lalai, SimpleButmayBottLeneckonHigh-Trafficsites.2) Memcached: berprestasi tinggi, idealforspeed-kritikalapplications.3) Redis: similartomemcached

Apakah sesi dalam PHP, dan mengapa mereka digunakan?Apakah sesi dalam PHP, dan mengapa mereka digunakan?May 04, 2025 am 12:12 AM

Sesi dalam PHP adalah mekanisme untuk menyimpan data pengguna di sisi pelayan untuk mengekalkan keadaan antara pelbagai permintaan. Khususnya, 1) sesi dimulakan oleh fungsi session_start (), dan data disimpan dan dibaca melalui array super global $ _Session; 2) data sesi disimpan dalam fail sementara pelayan secara lalai, tetapi boleh dioptimumkan melalui pangkalan data atau storan memori; 3) Sesi ini boleh digunakan untuk merealisasikan fungsi pengesan status pengguna dan fungsi keranjang belanja; 4) Perhatikan pengoptimuman penghantaran dan prestasi yang selamat bagi sesi untuk memastikan keselamatan dan kecekapan permohonan.

Terangkan kitaran hayat sesi PHP.Terangkan kitaran hayat sesi PHP.May 04, 2025 am 12:04 AM

PHPSSsionsStartWithSesion_start (), yang manageneratesauniqueidAndreateSererVerVerFile; tHePersisTacrossRequestSandCanBeManualEltersenedWithSession_destroy ()

Apakah perbezaan antara masa tamat sesi mutlak dan terbiar?Apakah perbezaan antara masa tamat sesi mutlak dan terbiar?May 03, 2025 am 12:21 AM

Timeout sesi mutlak bermula pada masa penciptaan sesi, sementara waktu tamat sesi terbiar bermula pada masa operasi pengguna. Tamat masa sesi mutlak sesuai untuk senario di mana kawalan ketat kitaran hayat sesi diperlukan, seperti aplikasi kewangan; Timeout sesi terbiar sesuai untuk aplikasi yang mahu pengguna menyimpan sesi mereka aktif untuk masa yang lama, seperti media sosial.

Apakah langkah yang akan anda ambil jika sesi tidak berfungsi di pelayan anda?Apakah langkah yang akan anda ambil jika sesi tidak berfungsi di pelayan anda?May 03, 2025 am 12:19 AM

Kegagalan sesi pelayan boleh diselesaikan dengan mengikuti langkah -langkah: 1. Semak konfigurasi pelayan untuk memastikan sesi ditetapkan dengan betul. 2. Sahkan kuki klien, sahkan bahawa penyemak imbas menyokongnya dan hantar dengan betul. 3. Periksa perkhidmatan penyimpanan sesi, seperti Redis, untuk memastikan bahawa mereka beroperasi secara normal. 4. Semak kod aplikasi untuk memastikan logik sesi yang betul. Melalui langkah -langkah ini, masalah perbualan dapat didiagnosis dengan berkesan dan diperbaiki dan pengalaman pengguna dapat diperbaiki.

Apakah kepentingan fungsi session_start ()?Apakah kepentingan fungsi session_start ()?May 03, 2025 am 12:18 AM

session_start () iscrucialinphpformanaginguserSessions.1) itinitiatesanewsessionifnoneexists, 2) resumeSanexistingsession, dan3) setSasessionCookieforcontinuityAcrossrequests, enableingApplicationeUseUshenticationandPersonalConizedConizedContentContentContentContentContentContentContentContentContentContentContentC.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.