web-dev-qa-db-ja.com

ExcelをPHP配列、可能かつどのように?

次のような大きなExcelファイルがあります。

enter image description here

各行を配列に入れたいと思います。

このように最初の行のorder idにアクセスすることは可能ですか?

$result[0][2] // returns 7432

列の名前にプレフィックスを与える実際の最初の行が存在しないと仮定します。

どうすればそれができますか?

19
Karem

スプレッドシートをCSVとして保存してから、PHPの組み込みCSV関数を使用します。こちらのサンプルコードをご覧ください。

http://php.net/manual/en/function.fgetcsv.php

16
Dan

PHPEXCELライブラリの使用をお勧めします

https://github.com/PHPOffice/PHPExcel

を見ることができます

20
Haim Evgi

私の答えは簡単すぎるかもしれませんが(一度だけの仕事のために)、ExcelでCONCATENATE "Function"を使用します。各行の最後のセルには、次のような連結機能があります。

=CONCATENATE("['";A2;"'=>['data1' => '";B2;"', 'data2' => '";C2;"'],")

どこ:

column "A" is ID of something;
column "B" is first characteristic;
column "C" is second characteristic;
etc.

次に、関数の結果をコピーしてスクリプトまたは設定ファイルに貼り付けます。最初と最後の括弧を忘れないでください。

6

これは私のために働く:

$content = file_get_contents($your_file_path); 
$lines = array_map("rtrim", explode("\n", $content));
4
paulalexandru

PHPExcelライブラリが非推奨となったため、「PhpSpreadsheet」をリリースしました

これは助けになります PhpSpreadsheet

2
Saed Yousef