PHP Classes

File: parser.php

Recommend this page to a friend!
  Classes of Max Base   PHP Merge Excel Files Merge Excel Files To One Per Column   parser.php   Download  
File: parser.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Merge Excel Files Merge Excel Files To One Per Column
Create an Excel file from other spreadsheet values
Author: By
Last change:
Date: 11 months ago
Size: 2,267 bytes
 

Contents

Class file image Download
<?php
// Max Base
// https://github.com/BaseMax/MergeExcelFilesToOnePerColumns
// 2021-04-13, 2021-04-22

require "excel.php";
require
"excel-create.php";

$authors = [];
$counts = [];
$data = [];

$prefix = "input-first/";
$prefix = "input-second/";

$files = glob($prefix . "*.xlsx");
$files_count = 0;

$count = 65;
$count = 39;

// foreach($files as $file) {
for($i=1;$i<=$count;$i++) {
   
$file = $prefix . $i.".xlsx";
    if(
$file === "" || $file === "." || $file === "..") {
        continue;
    }
   
// if($files_count > 5) {
    // // break;
    // }
   
$files_count++;
   
// print $file."\n";
   
if($xlsx = SimpleXLSX::parse($file) ) {
       
$rows = $xlsx->rows();
       
// print_r($rows);
       
$values = [];
        foreach(
$rows as $row) {
            if(isset(
$row[1])) {
               
$values[] = $row[1];
            }
            else {
               
$values[] = "";
            }
        }
       
// print_r($values);
       
$counts[] = (int) count($values);
       
$authors[] = $values;
       
// exit();
        // $values = [];
        // foreach($rows as $row) {
        // print_r($row);
        // if(isset($row[0], $row[1]) && $row[0] !== "" && $row[1] !== "") {
        // $row[1] = $row[1];
        // $values[] = $row[1];
        // }
        // }
        // // print_r($values);
        // $counts[] = (int) count($values);
        // $authors[] = $values;
        // exit();
   
} else {
        echo
SimpleXLSX::parseError();
    }
}

// print_r($authors);

$m = max($counts);
// print $m."\n";
// exit();
$c = count($authors);
// print count($authors[0])."\n";
// exit();

for($i=1;$i<=$m;$i++) {
   
$data[$i-1] = [];
}

for(
$i=1;$i<=$m;$i++) {
    for(
$j=1;$j<=$c;$j++) {
       
$data[$i-1][$j-1] = "";
        if(isset(
$authors[$j-1][$i-1])) {
           
$data[$i-1][$j-1] = $authors[$j-1][$i-1];
        }
    }
}
// print_r($data);
// exit();

// for($i=1;$i<=$c;$i++) {
// for($j=1;$j<=$m;$j++) {
// if(isset($authors[$i-1][$j])) {
// print $authors[$i-1][$j];
// }
// print "\t";
// }
// print "\n";
// }

// exit();

// for($j=0;$j<500;$j++) {
// $has = false;
// for($i=0;$i<$files_count;$i++) {
// print $i."\t";
// if(isset($authors[$i][$j])) {
// $authors[$i][$j] = trim($authors[$i][$j]);
// if($authors[$i][$j] !== "") {
// $has = true;
// print $authors[$i][$j];
// print "\t";
// }
// }
// }
// if($has === true) {
// print "\n";
// }
// }

$xlsx = SimpleXLSXGen::fromArray($data);
$xlsx->saveAs('res.xlsx');