Jadual Kandungan
PHP链式操作输出excel(csv),链式csv
Rumah pembangunan bahagian belakang tutorial php PHP链式操作输出excel(csv),链式csv_PHP教程

PHP链式操作输出excel(csv),链式csv_PHP教程

Jul 13, 2016 am 10:12 AM
csv

PHP链式操作输出excel(csv),链式csv

工作中经常会遇到产品运营让导出一些简单的比较规范的数据,这时候要是有一个简单的方法可以用就简单多了。下面是我的一个输出简单的excel(csv)的方法类,用到了链式操作。说到链式操作,在jquery中可能经常用到,是不是也感觉到链式操作用起来很爽,我们也在这个类中实现下链式操作。

其实链式操作很简单的,就是在前一个类方法最后返回一个该类的对象($this),提供给下一个方法调用。

<?<span>php
</span><span>class</span><span> Array2csv{
    </span><span>/*</span><span>
     *@var string $ext 扩展名 
     </span><span>*/</span>
    <span>private</span> <span>$ext</span> = 'csv'<span>;

    </span><span>/*</span><span>* 
     * @desc构造方法
     * @param string $filename 要输出的文件名
     * @param string $ext 扩展名
     </span><span>*/</span>
    <span>public</span> <span>function</span> __construct(<span>$filename</span>,<span>$ext</span>=<span>null</span><span>){
        </span><span>ob_start</span><span>();
        </span><span>header</span>("Content-type: text/html;charset=utf-8"<span>);
        </span><span>header</span>("Content-type: application/x-csv"<span>);
        </span><span>if</span>(PHP_SAPI == 'cli') <span>echo</span> "CLI模式下不能导出csv文件\r"<span>;
        </span><span>$this</span>->ext = <span>$ext</span> === <span>null</span> ? <span>$this</span>->ext : <span>$ext</span><span>;
        </span><span>header</span>("Content-Disposition: attachment;filename=".<span>$filename</span>.".".<span>$this</span>-><span>ext);
        </span><span>ob_flush</span><span>();
        </span><span>return</span> <span>$this</span><span>;
    }

    </span><span>/*</span><span>* 
     * @desc 打印excel标题
     * @param array $title 要输出的标题行
     * @param object Array2csv 对象本身
     </span><span>*/</span>    
    <span>public</span> <span>function</span> title(<span>$title</span><span>){
        </span><span>$title</span> = <span>implode</span>(",", <span>$title</span><span>);
        </span><span>echo</span> <span>$title</span>."\n"<span>;
        </span><span>return</span> <span>$this</span><span>;
    }

    </span><span>/*</span><span>* 
     * @desc 打印一行excel内容
     * @param array $body 要输出的内容
     * @param object Array2csv 对象本身
     </span><span>*/</span>    
    <span>public</span> <span>function</span> body(<span>$body</span><span>){
        </span><span>if</span>(!<span>is_array</span>(<span>$body</span>) || <span>empty</span>(<span>$body</span><span>)) {
            </span><span>return</span> <span>false</span><span>;
        }
        </span><span>$body</span> = <span>implode</span>(",", <span>$body</span><span>);
        </span><span>echo</span> <span>$body</span>."\n"<span>;
        </span><span>return</span> <span>$this</span><span>;
    }

    </span><span>/*</span><span>* 
     * @desc 打印多行excel内容
     * @param array $bodyArr 要输出的多行内容
     * @param object Array2csv 对象本身
     </span><span>*/</span>    
    <span>public</span> <span>function</span> multiBody(<span>$bodyArr</span><span>){
        </span><span>if</span>(!<span>is_array</span>(<span>$bodyArr</span>) || <span>empty</span>(<span>$bodyArr</span>)) <span>return</span> <span>false</span><span>;

        </span><span>foreach</span> (<span>$bodyArr</span> <span>as</span> <span>$key</span> => <span>$value</span><span>) {
            </span><span>if</span>(<span>is_array</span>(<span>$value</span><span>)){
                </span><span>$value</span> = <span>implode</span>(",", <span>$value</span><span>);
                </span><span>echo</span> <span>$value</span>."\n"<span>;
            }
        }
        </span><span>return</span> <span>$this</span><span>;
    }
}


</span><span>$test</span> = <span>new</span> Array2csv('test'<span>);
</span><span>$arr</span> = <span>array</span><span>(
    </span><span>array</span>('luluyrt@163.com','奔跑的Man1','奔跑的userman'),
    <span>array</span>('luluyrt@163.com','奔跑的Man2','奔跑的userman'),
    <span>array</span>('luluyrt@163.com','奔跑的Man3','奔跑的userman'),
    <span>array</span>('luluyrt@163.com','奔跑的Man4','奔跑的userman'),
    <span>array</span>('luluyrt@163.com','奔跑的Man5','奔跑的userman'),
    <span>array</span>('luluyrt@163.com','奔跑的Man6','奔跑的userman'<span>)
);
</span><span>$test</span>->title(<span>array</span>('测试','呵呵','哈哈'))->body(<span>array</span>('100,sadkl','sdsas','sdvsvdd分'))->multiBody(<span>$arr</span>);
Salin selepas log masuk

输出的csv如下图所示:

PHP链式操作输出excel(csv),链式csv_PHP教程$link = mysqli_connect($host, $user, $passwd, $db); mysqli_query($link, "set names utf8");

 

进行编码转换方可正常显示,下面是我的数据库信息和编码前后效果:

PHP链式操作输出excel(csv),链式csv_PHP教程数据库信息

PHP链式操作输出excel(csv),链式csv_PHP教程设置数据库编码前后的对比

send Me~

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/924354.htmlTechArticlePHP链式操作输出excel(csv),链式csv 工作中经常会遇到产品运营让导出一些简单的比较规范的数据,这时候要是有一个简单的方法可以用就...
Kenyataan Laman Web ini
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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pembangunan Laravel: Bagaimana untuk mengimport dan mengeksport fail CSV menggunakan Laravel Excel? Pembangunan Laravel: Bagaimana untuk mengimport dan mengeksport fail CSV menggunakan Laravel Excel? Jun 14, 2023 pm 12:06 PM

Laravel ialah salah satu rangka kerja PHP yang lebih cemerlang dalam industri Fungsinya yang berkuasa dan API yang mudah digunakan menjadikannya sangat popular di kalangan pembangun. Dalam pembangunan sebenar, kita sering perlu mengimport dan mengeksport data, dan CSV, sebagai format data yang digunakan secara meluas, juga telah menjadi salah satu format import dan eksport yang biasa digunakan. Artikel ini akan memperkenalkan cara menggunakan sambungan LaravelExcel untuk mengimport dan mengeksport fail CSV. 1. Pasang LaravelExcel Pertama, kita perlukan

Bagaimana untuk menukar rentetan json ke format csv dalam php Bagaimana untuk menukar rentetan json ke format csv dalam php Jun 02, 2023 am 11:13 AM

Cara menukar rentetan json kepada format csv dalam php: 1. Buat fail sampel php 2. Tukar rentetan JSON kepada tatasusunan atau objek PHP 3. Buat pemegang fail dan buka fail CSV; baris pengepala dan baris data dalam fail CSV 5. Tulis baris data ke dalam fail CSV dan gunakan pemisah koma antara medan, tutup pemegang fail dan lengkapkan penukaran.

Baris format PHP ke CSV dan tulis penuding fail Baris format PHP ke CSV dan tulis penuding fail Mar 22, 2024 am 09:00 AM

Artikel ini akan menerangkan secara terperinci bagaimana PHP memformat baris ke dalam CSV dan menulis penunjuk fail saya rasa ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. Format baris ke CSV dan tulis ke penuding fail Langkah 1: Buka penuding fail $file=fopen("path/to/file.csv","w"); kepada rentetan CSV. Fungsi ini menerima parameter berikut: $fail: penuding fail $medan: medan CSV sebagai tatasusunan $pembatas: pembatas medan (pilihan) $kepungan: petikan medan (

Penjelasan terperinci tentang membaca dan menulis fail CSV dalam Java menggunakan OpenCSV Penjelasan terperinci tentang membaca dan menulis fail CSV dalam Java menggunakan OpenCSV Dec 20, 2023 am 09:36 AM

Java ialah bahasa pengaturcaraan yang digunakan secara meluas, dan pembangun selalunya perlu berurusan dengan pelbagai format data. CSV (Comma-SeparatedValues) ialah format data biasa yang digunakan secara meluas dalam pertukaran dan penyimpanan data. Di Java, kita boleh menggunakan perpustakaan OpenCSV untuk membaca dan menulis fail CSV. OpenCSV ialah perpustakaan sumber terbuka yang mudah digunakan yang menyediakan API yang mudah untuk memproses data CSV. Artikel ini menerangkan cara untuk

Tukar data XML kepada format CSV dalam Python Tukar data XML kepada format CSV dalam Python Aug 11, 2023 pm 07:41 PM

Tukar data XML dalam Python kepada format CSV XML (ExtensibleMarkupLanguage) ialah bahasa penanda boleh diperluas yang biasa digunakan untuk penyimpanan dan penghantaran data. CSV (CommaSeparatedValues) ialah format fail teks dipisahkan koma yang biasa digunakan untuk import dan eksport data. Semasa memproses data, kadangkala data XML perlu ditukar kepada format CSV untuk analisis dan pemprosesan yang mudah. Python adalah yang kuat

Apa yang perlu dilakukan jika php mengimport aksara csv yang kacau? Apa yang perlu dilakukan jika php mengimport aksara csv yang kacau? Nov 21, 2022 am 09:32 AM

Penyelesaian kepada masalah csv bercelaru yang diimport ke dalam PHP: 1. Bina fungsi parsing "function tb_str_getcsv($string, $delimiter=',', $enclosure='"') {...}"; 2. Baca fail ke dalam pembolehubah ;3. Keluarkan pengepala BOM melalui "substr($s,2)".

Cara mengimport fail CSV ke JTable untuk paparan menggunakan Java Cara mengimport fail CSV ke JTable untuk paparan menggunakan Java Apr 21, 2023 pm 11:34 PM

Gambaran keseluruhan mata pengetahuan utama a.Kelas SwingNode: Bungkus komponen Javaswing ke dalam Nod JavaFX, supaya JavaSwing boleh disarangkan dengan JavaFX JavaSwing adalah hodoh, tetapi komponen jadual JavaFX (TableView, dll.) agak rumit , jadi Pilih JavaSwing bersarang untuk digunakan, cuma jadi hodoh b.javacsv-2.0.jar: digunakan untuk membaca fail csv melalui alamat fail, dan boleh melakukan satu siri operasi Walaupun ia tidak lagi dikemas kini selepas 2008, ia boleh beroperasi a fail csv Sudah cukup. c.FileChoose kelas: pemilih fail untuk JavaFX yang boleh

Bagaimana untuk menukar csv ke vcf Bagaimana untuk menukar csv ke vcf Dec 15, 2023 am 10:44 AM

csv ke vcf melalui langkah-langkah membuka fail CSV, memformat fail CSV, mengeksport fail CSV, melaraskan format fail VCF dan menyimpan fail VCF. Pengenalan terperinci: 1. Buka fail CSV, anda boleh menggunakan Microsoft Excel, Google Sheets atau mana-mana program hamparan lain untuk membuka fail CSV 2. Format fail CSV untuk memastikan pengepala lajur fail CSV adalah jelas; Eksport fail CSV, dsb.

See all articles