PHP 读取execl表格 提取数据并生成 txt 文档

该文章演示了如何使用PHP的phpspreadsheet库读取xlsx和et格式的Excel文件,以及csv文件。通过composer引入库,然后使用IOFactory加载文件,转换为数组并遍历数据,将内容写入文本文件。
摘要由CSDN通过智能技术生成

composer require phpoffice/phpspreadsheet

 xlsx、et 格式

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;

$inputFileName = '1.xlsx';

//方法1.1, 1.2, 2都可以

//方法1:自动识别文件类型
//方法1.1
$spreadsheet = IOFactory::load($inputFileName);//自动识别文件类型
//方法1.2
//$spreadsheet = IOFactory::createReaderForFile($inputFileName)->setReadDataOnly(true)->load($inputFileName);

//方法2:指定文件类型
//$spreadsheet = IOFactory::createReader("Xlsx")->load($inputFileName);

//获取表格所有页
$sheets = $spreadsheet->getAllSheets();
foreach ($sheets as $shee_id=>$sheet){
    $sheetData = $sheet->toArray(null, true, true, true);
    foreach ($sheetData as $k=>$v){
        foreach ($v as $txt){
            if ($txt){
                file_put_contents('excel1.txt', $txt.PHP_EOL,FILE_APPEND);
            }
        }
    }
}

//获取单页表格数据
$sheetData = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);
foreach ($sheetData as $k=>$v){
    foreach ($v as $txt){
        if ($txt){
            file_put_contents('excel.txt', $txt.PHP_EOL,FILE_APPEND);
        }
    }
}

CSV格式

<?php

$filePath = '1.csv';

$data = getCsvData($filePath);

foreach ($data as $k=>$v){
    foreach ((array)$v as $txt){
        if ($txt){
            file_put_contents('csv.txt', $txt.PHP_EOL,FILE_APPEND);
        }
    }
}
    

function getCsvData($filePath){
    $handle = fopen( $filePath, "rb" );
    
    $data = [];
    while (!feof($handle)) {
        $data[] = fgetcsv($handle);
    }
    fclose($handle);
    
    $data = eval('return ' . iconv('gb2312', 'utf-8', var_export($data, true)) . ';');  //字符转码操作
    
    return $data;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值