PHP链式操作输出excel(csv),链式csv_PHP教程
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>);
输出的csv如下图所示:
$link = mysqli_connect($host, $user, $passwd, $db);
mysqli_query($link, "set names utf8");
进行编码转换方可正常显示,下面是我的数据库信息和编码前后效果:
数据库信息
设置数据库编码前后的对比
send Me~

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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.

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 (

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

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

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

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.
