`
haohappy2
  • 浏览: 325893 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PHP CSV Writer

    博客分类:
  • PHP
 
阅读更多
<?php
/**
 * Simple class to properly output CSV data to clients. PHP 5 has a built
 * in method to do the same for writing to files (fputcsv()), but many times
 * going right to the client is beneficial.
 *
 * @author Patrick WU
 */
class CSV_Writer {
    public $data = array();
    public $deliminator;
    function __construct($data, $deliminator = ",")
    {
        if (!is_array($data))
        {
            throw new Exception('CSV_Writer only accepts data as arrays');
        }
        $this->data = $data;
        $this->deliminator = $deliminator;
    }
    private function wrap_with_quotes($data)
    {
        $data = preg_replace('/"(.+)"/', '""$1""', $data);
        return sprintf('"%s"', $data);
    }
    public function output()
    {
        foreach ($this->data as $row)
        {
            $quoted_data = array_map(array('CSV_Writer', 'wrap_with_quotes'), $row);
            echo sprintf("%s\r\n", implode($this->deliminator, $quoted_data));
        }
    }
    public function headers($name)
    {
        header('Content-Type: application/csv');
        header("Content-disposition: attachment; filename={$name}.csv");
	//** record the csv file on the server side
        $file_store_folder = dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR.'data';
        $file_path = $file_store_folder.DIRECTORY_SEPARATOR.$name.".csv";
        if(!is_dir($file_store_folder)){
              	@mkdir($file_store_folder, 0700);
         }
        if($this->data ){
              $fp = @fopen($file_path, 'w');
              foreach ($this->data as $line) {
                     fputcsv($fp, $line);
              }
              fclose($fp);
        }
    }
}
//$data = array(array("one","two","three"), array(4,5,6));
$data[] = array("one","two","three");
$data[] = array(4,5,6);
$csv = new CSV_Writer($data);
$csv->headers('test');
$csv->output();

 

分享到:
评论

相关推荐

    php 读取或导出到Excel / CSV (附utf8、gbk 编码转换)

    $writer = new \PhpOffice\PhpSpreadsheet\Writer\Csv($spreadsheet); $writer-&gt;save('output.csv'); ``` 编码转换是处理中文字符时经常遇到的问题。UTF-8是互联网上最广泛使用的编码,而GBK是中国大陆常用的编码。...

    phpcs3v 导出导入演示

    【标题】"phpcsv 导出导入演示"指的是一个关于如何使用phpcsv库进行数据导入与导出的示例教程。在PHP开发中,数据处理是常见的任务,phpcsv库提供了一个简单易用的方式来处理CSV(逗号分隔值)文件,这在处理大量...

    CSV数据简便操作的PHP库

    `League\Csv\Writer`类则用于写入CSV文件。你可以添加行、设置列标题、甚至直接从数据库查询结果中写入数据。 ```php use League\Csv\Writer; $csv = Writer::createFromFileObject(new \SplTempFileObject())...

    CSV数据操作的PHP库.zip

    4. **Csv\Reader/Csv\Writer**:这是PHP Data Objects (PDO) 扩展的一部分,允许通过PDO接口处理CSV数据。这在数据库操作与CSV文件之间建立桥梁时非常有用。 在使用这些库时,开发者可以进行以下操作: - **读取...

    使用PHP读写EXCEL文件,同时支持CSV、HTML、PDF等各种格式

    使用PHP操作和读写EXCEL文件,非常方便. Software requirements The following software is required to develop using PHPExcel: » PHP version 5.2.0 or newer » PHP extension php_zip enabled *) » PHP ...

    Laravel开发-laravel-csv

    使用`League\Csv\Writer`类,我们可以创建新的CSV文件或向现有文件追加数据: ```php use League\Csv\Writer; use Illuminate\Support\Facades\Storage; // 创建一个CSV writer $writer = Writer::...

    Spreadsheet_Excel_Writer 生成excel 实例

    在实际应用中,你可以根据需求写入大量数据,例如从数据库读取数据或者处理CSV文件,然后使用Spreadsheet_Excel_Writer生成结构化的Excel报表。此外,还可以设置单元格的对齐方式、颜色、边框、公式等属性,实现更...

    phpSpreadsheet.zip

    PHPSpreadsheet是一款强大的PHP库,专为处理Microsoft Office Open XML (OOXML) 文件格式,如.xlsx、.xls和.csv等,提供了读取和写入的功能。这个库允许开发者轻松地创建、修改和操作电子表格数据,广泛应用于数据...

    php根据excel模板导出excel并合并单元格

    在PHP开发中,有时我们需要处理数据的导出功能,特别是生成Excel文件,这对于数据分析、报告制作等场景非常有用。"php根据excel模板导出excel并合并单元格"这个主题涉及了如何利用PHP来读取Excel模板,填充数据,并...

    双色球爬取数据,根据指定期号爬取

    import csv import urllib3 ... writer = csv.writer(f) for period in range(start_period, end_period+1): # 构造网页 URL url = f'https://www.cjcp.cn/kaijiang/ssq/index.php?qh={period}'

    PhpSpreadsheet一个读取和写入电子表格文件的纯PHP库

    最后,除了默认的 Xlsx 和 Xls 写入/读取格式,PhpSpreadsheet 还支持其他格式,如 CSV、Ods、Tiff 等,只需更换相应的 Writer 或 Reader 类即可。 总之,PhpSpreadsheet 是一个功能强大的 PHP 库,能够满足你在 ...

    Spout是一个PHP库可以快速可扩展的方式读写电子表格文件CSVXLSX和ODS

    $writer = WriterFactory::create(\Box\Spout\Common\Type::TYPE_CSV); $writer-&gt;openToFile($file); $data = [['Name', 'Age'], ['Alice', 25], ['Bob', 30]]; foreach ($data as $rowData) { $row = new Row(); ...

    PHP导出excel表格

    use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $writer = new Xlsx($spreadsheet); $writer-&gt;save('output.xlsx'); ``` 7. **解决乱码问题**: 乱码问题通常与字符编码有关。确保你的PHP文件和Excel文件都使用...

    PhpSpreadsheet-master.zip

    对于数据写入,我们可以创建一个`\PhpOffice\PhpSpreadsheet\Writer`的实例,例如`\PhpOffice\PhpSpreadsheet\Writer\Xlsx`,然后使用`save()`方法将数据写入新的Excel文件。在写入过程中,我们可以自由地创建新工作...

    用PHP制作excel表格

    PHPExcel是早前广泛使用的库,它支持多种文件格式,包括老版的.BIFF(Microsoft Excel 97-2003)和较新的.OOXML(Microsoft Office Open XML),以及CSV和PDF。通过PHPExcel,你可以创建多工作表的Excel文件,填充...

    php导入导出功能

    这里我们将深入探讨如何使用PHP实现文件的导入和导出,重点关注CSV、Excel(XLSX)和XML等常见格式。 一、CSV导入与导出 1. CSV(Comma Separated Values)是一种简单且广泛支持的数据交换格式,主要用于表格数据...

    php 下载数据到excel表格 及编码问题

    对于CSV格式,可以使用`fputcsv()`函数,并通过`enclosure`和`delimiter`参数控制数据的分隔和包围方式。 在下载过程中,设置HTTP头`Content-Type`为`application/vnd.openxmlformats-officedocument.spreadsheetml...

    phpexcel复杂用法

    它允许开发者读取、写入和操作不同格式的电子表格,如XLS、XLSX和CSV等。这篇博文将深入探讨PHPExcel的高级用法,帮助开发者更高效地处理数据。 **一、安装和基本使用** 在开始使用PHPExcel之前,首先需要通过...

    一个稀有的php中文帮助文档

    另外,PHP还常用于服务器端的XML处理,文档对此进行了详细介绍,包括DOM、SimpleXML、XMLWriter等库的使用。 错误处理和调试也是开发过程中的重要环节,PHP中文帮助文档对此有专门的章节,指导开发者如何使用错误...

Global site tag (gtag.js) - Google Analytics