Inhaltsverzeichnis
PHP链式操作输出excel(csv),链式csv
Heim Backend-Entwicklung PHP-Tutorial 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>);
Nach dem Login kopieren

输出的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 工作中经常会遇到产品运营让导出一些简单的比较规范的数据,这时候要是有一个简单的方法可以用就...
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Laravel-Entwicklung: Wie importiere und exportiere ich CSV-Dateien mit Laravel Excel? Laravel-Entwicklung: Wie importiere und exportiere ich CSV-Dateien mit Laravel Excel? Jun 14, 2023 pm 12:06 PM

Laravel ist eines der herausragendsten PHP-Frameworks der Branche. Seine leistungsstarken Funktionen und die benutzerfreundliche API machen es bei Entwicklern sehr beliebt. In der tatsächlichen Entwicklung müssen wir häufig Daten importieren und exportieren, und CSV ist als weit verbreitetes Datenformat auch zu einem der am häufigsten verwendeten Import- und Exportformate geworden. In diesem Artikel wird erläutert, wie Sie die LaravelExcel-Erweiterung zum Importieren und Exportieren von CSV-Dateien verwenden. 1. Installieren Sie zunächst LaravelExcel

PHP formatiert Zeilen in CSV und schreibt Dateizeiger PHP formatiert Zeilen in CSV und schreibt Dateizeiger Mar 22, 2024 am 09:00 AM

In diesem Artikel wird ausführlich erläutert, wie PHP Zeilen in CSV formatiert und Dateizeiger schreibt. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas daraus lernen können. Zeilen in CSV formatieren und in den Dateizeiger schreiben Schritt 1: Dateizeiger öffnen $file=fopen("path/to/file.csv","w"); in CSV-Strings umwandeln. Die Funktion akzeptiert die folgenden Parameter: $file: Dateizeiger $fields: CSV-Felder als Array $delimiter: Feldtrennzeichen (optional) $enclosure: Feldanführungszeichen (

So konvertieren Sie eine JSON-Zeichenfolge in PHP in das CSV-Format So konvertieren Sie eine JSON-Zeichenfolge in PHP in das CSV-Format Jun 02, 2023 am 11:13 AM

So konvertieren Sie einen JSON-String in das CSV-Format: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Konvertieren Sie den JSON-String in ein PHP-Array oder -Objekt. 3. Erstellen Sie ein Dateihandle und öffnen Sie eine CSV-Datei zum Schreiben Kopfzeile und Datenzeile in der CSV-Datei; 5. Schreiben Sie die Datenzeile in die CSV-Datei und verwenden Sie Kommatrennzeichen zwischen den Feldern, schließen Sie das Dateihandle und schließen Sie die Konvertierung ab.

Konvertieren Sie XML-Daten in Python in das CSV-Format Konvertieren Sie XML-Daten in Python in das CSV-Format Aug 11, 2023 pm 07:41 PM

Konvertieren Sie XML-Daten in Python in das CSV-Format. XML (ExtensibleMarkupLanguage) ist eine erweiterbare Auszeichnungssprache, die häufig zur Datenspeicherung und -übertragung verwendet wird. CSV (CommaSeparatedValues) ist ein durch Kommas getrenntes Textdateiformat, das häufig für den Datenimport und -export verwendet wird. Bei der Datenverarbeitung ist es manchmal erforderlich, XML-Daten zur einfachen Analyse und Verarbeitung in das CSV-Format zu konvertieren. Python ist mächtig

Ausführliche Erklärung zum Lesen und Schreiben von CSV-Dateien in Java mit OpenCSV Ausführliche Erklärung zum Lesen und Schreiben von CSV-Dateien in Java mit OpenCSV Dec 20, 2023 am 09:36 AM

Java ist eine weit verbreitete Programmiersprache und Entwickler müssen häufig mit verschiedenen Datenformaten umgehen. CSV (Comma-SeparatedValues) ist ein gängiges Datenformat, das häufig zum Datenaustausch und zur Datenspeicherung verwendet wird. In Java können wir die OpenCSV-Bibliothek zum Lesen und Schreiben von CSV-Dateien verwenden. OpenCSV ist eine benutzerfreundliche Open-Source-Bibliothek, die eine praktische API zur Verarbeitung von CSV-Daten bereitstellt. In diesem Artikel wird erklärt, wie das geht

Was tun, wenn PHP verstümmelte CSV-Zeichen importiert? Was tun, wenn PHP verstümmelte CSV-Zeichen importiert? Nov 21, 2022 am 09:32 AM

Lösung für das Problem verstümmelter CSV-Dateien, die in PHP importiert werden: 1. Erstellen Sie eine Parsing-Funktion „function tb_str_getcsv($string, $delimiter=',', $enclosure='"') {...}"; 2. Lesen Sie die Datei in eine Variable ;3. Entfernen Sie den BOM-Header durch „substr($s,2)“.

So importieren Sie CSV-Dateien in JTable zur Anzeige mit Java So importieren Sie CSV-Dateien in JTable zur Anzeige mit Java Apr 21, 2023 pm 11:34 PM

Überblick über die wichtigsten Wissenspunkte a.SwingNode-Klasse: Kapseln Sie Javaswing-Komponenten in einen JavaFX-Knoten, sodass JavaSwing mit JavaFX verschachtelt werden kann. JavaFX-Tabellenkomponenten (TableView usw.) sind etwas kompliziert , also Wählen Sie verschachteltes JavaSwing aus, um es zu verwenden, nur hässlich b.javacsv-2.0.jar: Wird zum Lesen von CSV-Dateien über Dateiadressen verwendet und kann eine Reihe von Vorgängen ausführen. Obwohl es nach 2008 nicht mehr aktualisiert wird, kann es a csv-Datei Es reicht. c.FileChoose-Klasse: ein Dateiselektor für JavaFX, der das kann

So konvertieren Sie CSV in VCF So konvertieren Sie CSV in VCF Dec 15, 2023 am 10:44 AM

csv in vcf durch die Schritte Öffnen von CSV-Dateien, Formatieren von CSV-Dateien, Exportieren von CSV-Dateien, Anpassen des VCF-Dateiformats und Speichern von VCF-Dateien. Detaillierte Einführung: 1. Öffnen Sie die CSV-Datei. Sie können Microsoft Excel, Google Sheets oder ein anderes Tabellenkalkulationsprogramm verwenden, um die CSV-Datei zu öffnen. 2. Formatieren Sie die CSV-Datei, um sicherzustellen, dass die Spaltenüberschriften der CSV-Datei klar sind. Exportieren Sie die CSV-Datei usw.

See all articles