PhpSpreadsheet のサンプル

```php:xlsx_manipulate.php
<?php
//
//	xlsx_manipulate.php
//
//					Sep/09/2018
//
// ----------------------------------------------------------------
require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx as Reader;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx as Writer;;

// ----------------------------------------------------------------
function xlsx_write_proc ($xlsx_file,$dict_aa)
{
	$spreadsheet = new Spreadsheet();
	$sheet = $spreadsheet->getActiveSheet();

	$nn = 1;
	foreach ($dict_aa as $key => $value)
		{
		$cell = 'A' . $nn;
		$sheet->setCellValue($cell,$key);
		$cell = 'B' . $nn;
		$sheet->setCellValue($cell,$value['name']);
		$cell = 'C' . $nn;
		$sheet->setCellValue($cell,$value['population']);
		$cell = 'D' . $nn;
		$sheet->setCellValue($cell,$value['date_mod']);
		$nn += 1;
		}

	$writer = new Writer($spreadsheet);
	$writer->save($xlsx_file);
}

// ----------------------------------------------------------------
function xlsx_read_proc ($xlsx_file)
{
	$dict_aa = array ();

	$reader = new Reader();
	$spreadsheet = $reader->load($xlsx_file);

	$sheet = $spreadsheet->getActiveSheet();

	for ($it=1; $it<= 100; $it++)
		{
		$dict_unit = array ();

		$id = $sheet->getCell ('A' . $it) -> getValue ();

		if ($id == "")
			{
			break;
			}

		$dict_unit['name'] = $sheet->getCell ('B' . $it) -> getValue ();
	$dict_unit['population'] = $sheet->getCell ('C' . $it) -> getValue ();
	$dict_unit['date_mod'] = $sheet->getCell ('D' . $it) -> getValue ();

		$dict_aa[$id]= $dict_unit;
		}

	return	$dict_aa;
}

// ----------------------------------------------------------------
```

書き込みのサンプル

```php:xlsx_create.php
#! /usr/bin/php
<?php
//
//	xlsx_create.php
//
//					Sep/09/2018
//
// ----------------------------------------------------------------
include "xlsx_manipulate.php";

// ----------------------------------------------------------------
error_reporting(E_ALL);

fputs (STDERR,"*** 開始 ***\n");
date_default_timezone_set('Asia/Tokyo');

$xlsx_file = $argv[1];

$dict_aa = data_prepare_proc ();

xlsx_write_proc ($xlsx_file,$dict_aa);

fputs (STDERR,"*** 終了 ***\n");
// ----------------------------------------------------------------
function data_prepare_proc ()
{
$dict_aa = array ();

$dict_aa = dict_append_proc ($dict_aa,'t2971','奈良',59276,'2002-7-31');
$dict_aa = dict_append_proc ($dict_aa,'t2972','大和高田',47325,'2002-4-12');
$dict_aa = dict_append_proc ($dict_aa,'t2973','大和郡山',28914,'2002-9-01');
$dict_aa = dict_append_proc ($dict_aa,'t2974','天理',46379,'2002-10-29');
$dict_aa = dict_append_proc ($dict_aa,'t2975','橿原',36715,'2002-7-14');
$dict_aa = dict_append_proc ($dict_aa,'t2976','桜井',24387,'2002-6-12');
$dict_aa = dict_append_proc ($dict_aa,'t2977','五條',82149,'2002-4-17');
$dict_aa = dict_append_proc ($dict_aa,'t2978','御所',98561,'2002-3-24');
$dict_aa = dict_append_proc ($dict_aa,'t2979','生駒',79452,'2002-7-8');

return	$dict_aa;

}

// ----------------------------------------------------------------
function dict_append_proc ($dict_aa,$id,$name,$population,$date_mod)
{
	$dict_unit = array ();
	$dict_unit['name'] = $name;
	$dict_unit['population'] = $population;
	$dict_unit['date_mod'] = $date_mod;
	$dict_aa[(string)$id]= $dict_unit;

	return	$dict_aa;
}
?>
```

読み込みのサンプル

```php:xlsx_read.php
#! /usr/bin/php
<?php
//
//	xlsx_read.php
//
//					Sep/09/2018
//
// ----------------------------------------------------------------
include "xlsx_manipulate.php";
// ----------------------------------------------------------------
fputs (STDERR,"*** 開始 ***\n");

date_default_timezone_set('Asia/Tokyo');

$file_in = $argv[1];
#
print $file_in . "\n";

$dict_aa = xlsx_read_proc ($file_in);

dict_display_proc ($dict_aa);


fputs (STDERR, "*** 終了 ***\n");

// ----------------------------------------------------------------
function dict_display_proc ($dict_aa)
{
	ksort ($dict_aa);

	foreach ($dict_aa as $key => $value)
		{
		$name = $value["name"];
		$population = $value['population'];
		$date_mod = $value['date_mod'];

		print "$key\t";
		print "$name\t";
		print "$population\t";
		print "$date_mod\n";		
		}
}
?>