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

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel은 업계에서 가장 뛰어난 PHP 프레임워크 중 하나이며 강력한 기능과 사용하기 쉬운 API로 인해 개발자들 사이에서 매우 인기가 높습니다. 실제 개발 과정에서 데이터를 가져오고 내보내야 하는 경우가 종종 있는데, 널리 사용되는 데이터 형식인 CSV도 널리 사용되는 가져오기 및 내보내기 형식 중 하나가 되었습니다. 이 글에서는 LaravelExcel 확장 기능을 사용하여 CSV 파일을 가져오고 내보내는 방법을 소개합니다. 1. 먼저 LaravelExcel을 설치하세요.

php에서 json 문자열을 csv 형식으로 변환하는 방법: 1. PHP 샘플 파일을 만듭니다. 2. JSON 문자열을 PHP 배열 또는 개체로 변환합니다. 3. 파일 핸들을 만들고 쓰기용 CSV 파일을 엽니다. 5. CSV 파일에 데이터 행을 쓰고 필드 사이에 쉼표 구분 기호를 사용하고 파일 핸들을 닫은 후 변환을 완료합니다.

이 기사에서는 PHP가 행을 CSV로 형식화하고 파일 포인터를 작성하는 방법에 대해 자세히 설명합니다. 매우 실용적이므로 이 기사를 읽고 뭔가를 얻을 수 있기를 바랍니다. 행을 CSV로 포맷하고 파일 포인터에 씁니다. 1단계: 파일 포인터 열기 $file=fopen("path/to/file.csv","w") 2단계: fputcsv( ) 함수를 사용하여 행을 CSV 문자열로 변환합니다. CSV 문자열로. 이 함수는 다음 매개변수를 허용합니다: $file: 파일 포인터 $fields: 배열로서의 CSV 필드 $delimiter: 필드 구분 기호(선택 사항) $enclosure: 필드 따옴표(

Python의 XML 데이터를 CSV 형식으로 변환 XML(ExtensibleMarkupLanguage)은 데이터 저장 및 전송에 일반적으로 사용되는 확장 가능한 마크업 언어입니다. CSV(CommaSeparatedValues)는 데이터 가져오기 및 내보내기에 일반적으로 사용되는 쉼표로 구분된 텍스트 파일 형식입니다. 데이터를 처리할 때, 간편한 분석과 처리를 위해 XML 데이터를 CSV 형식으로 변환해야 하는 경우가 있습니다. 파이썬은 강력하다

Java는 널리 사용되는 프로그래밍 언어이며 개발자는 종종 다양한 데이터 형식을 처리해야 합니다. CSV(Comma-SeparatedValues)는 데이터 교환 및 저장에 널리 사용되는 일반적인 데이터 형식입니다. Java에서는 OpenCSV 라이브러리를 사용하여 CSV 파일을 읽고 쓸 수 있습니다. OpenCSV는 CSV 데이터를 처리할 수 있는 편리한 API를 제공하는 사용하기 쉬운 오픈 소스 라이브러리입니다. 이 문서에서는 다음 방법을 설명합니다.

PHP로 가져온 잘못된 CSV 문제에 대한 해결책: 1. 구문 분석 함수 "function tb_str_getcsv($string, $delimiter=',', $enclosure='"') {...}"를 구성합니다. 2. 파일을 읽습니다. 3. "substr($s,2)"를 통해 BOM 헤더를 제거합니다.

주요 지식 포인트 개요 a.SwingNode 클래스: JavaSwing이 JavaFX와 중첩될 수 있도록 Javaswing 구성 요소를 JavaFX 노드로 캡슐화합니다. JavaSwing은 보기 흉하지만 조작하기 쉽습니다. , 따라서 사용할 중첩된 JavaSwing을 선택하세요. b.javacsv-2.0.jar은 파일 주소를 통해 csv 파일을 읽는 데 사용되며 일련의 작업을 수행할 수 있지만 2008년 이후에는 더 이상 업데이트되지 않습니다. csv 파일이면 충분합니다. c.FileChoose 클래스: JavaFX용 파일 선택기

CSV 파일 열기, CSV 파일 형식 지정, CSV 파일 내보내기, VCF 파일 형식 조정 및 VCF 파일 저장 단계를 통해 csv에서 vcf로. 자세한 소개: 1. CSV 파일을 엽니다. Microsoft Excel, Google 스프레드시트 또는 기타 스프레드시트 프로그램을 사용하여 CSV 파일을 열 수 있습니다. 2. CSV 파일의 열 헤더가 명확하도록 CSV 파일 형식을 지정합니다. CSV 파일 등을 내보냅니다.
