私は現在、phpを使用してExcelを読み取り、それらのレコードをmysqlに保存することに取り組んでいます。PHPExcelに出くわしました。これは、非常に簡単に達成するのに役立つ非常に優れたプラグインクラスの集まりです。検索しようとしましたが、私のようなものはありませんでした。ユースケース。また、オブジェクト指向のPHPはあまり得意ではなく、これを行うには時間が足りません。
First Name Last Name Nationality Gender Date of Birth Time of Birth Date/Time PHP Coder Sanity %Age
上記は、サンプルのデータベース列とExcelシートの最初の行です。データベースに挿入する前に、行の列名を一致させたいと思います。これまでの私のコードは、列名と値を取得する2次元配列を提供します。挿入する前に列名を確認したい理由は、私の優れた点は列名の任意の順序である可能性があるためです。これを実現するために、パッケージでexampleReader01といくつかのSOリファレンスを使用しました。
$headingsArray = $objWorksheet->rangeToArray('A1:'.$highestColumn.'1',null, true, true, true);
$headingsArray = $headingsArray[1];
$r = -1;
$namedDataArray = array();
for ($row = 2; $row <= $highestRow; ++$row) {
$dataRow = $objWorksheet->rangeToArray('A'.$row.':'.$highestColumn.$row,null, true, true, true);
if ((isset($dataRow[$row]['A'])) && ($dataRow[$row]['A'] > '')) {
++$r;
foreach($headingsArray as $columnKey => $columnHeading){
$namedDataArray[$r][$columnHeading] = $dataRow[$row][$columnKey];
}
}
}
今、私はこれを右の列に挿入する方法について助けが必要です。私の配列はこんな感じです
Array
(
[0] => Array
(
[First Name] => Mark
[Last Name] => Baker
[Nationality] => British
[Gender] => M
[Date of Birth] => 19-Dec-60
[Time of Birth] => 1:30
[Date/Time] => 22269.0625
[PHP Coder] => 1
[Sanity %Age] => 32%
)
[1] => Array
(
[First Name] => Toni
[Last Name] => Baker
[Nationality] => British
[Gender] => F
[Date of Birth] => 24-Nov-50
[Time of Birth] => 20:00
[Date/Time] => 18591.83333
[PHP Coder] =>
[Sanity %Age] => 95%
)
[2] => Array
(
[First Name] => Rachel
[Last Name] => Baker
[Nationality] => British
[Gender] => F
[Date of Birth] => 7-Dec-82
[Time of Birth] => 0:15
[Date/Time] => 30292.01042
[PHP Coder] =>
[Sanity %Age] => 100%
)
)
私がはっきりしていることを願っています。
御時間ありがとうございます。