+ファイルを読み書きするファイルを読み込むためのphpspreadsheet中国の文書(H)

2019年10月11日午後02時09分40秒

構成設定

PhpSpreadsheetファイルは、スクリプトではなく、インスタンスに含まれた後、Spreadsheetオブジェクトまたはブックファイルをロードする前に、あなたは多くの設定オプションを設定することができ、これらの設定オプションは、スクリプトのその後の行動に影響を与えます。

細胞は、キャッシュを収集しました

デフォルトでは、PhpSpreadsheetすべてのセルオブジェクトはメモリに残りますが、あなたは、メモリ消費量を削減するスピードのコストを削減する別の方法を指定することができます。記事を読むメモリ節約詳細については

セルのキャッシュを行うために、あなたは、このようなキャッシュを独自の実装を提供する必要があります。

$cache = new MyCustomPsr16Implementation();

\PhpOffice\PhpSpreadsheet\Settings::setCache($cache);

言語/地域

PhpSpreadsheetは、すでにいくつかのローカライズされた要素が含まれています。あなたは、設定を変更することでロケールを設定することができます。ポルトガル語(ブラジル)、使用するロケールには:

$locale = 'pt_br';
$validLocale = \PhpOffice\PhpSpreadsheet\Settings::setLocale($locale);
if (!$validLocale) { echo 'Unable to set locale to ' . $locale . " - reverting to en_us" . PHP_EOL; } 
  • ファイルには、ポルトガル語(ブラジル)で利用できない場合は、ポルトガルが有効になります
  • ファイルはポルトガル語ではない場合、setLocale()メソッドはエラーを返し、常にアメリカ英語(en_US)の設定を使用します。

ロケールを設定した後、あなたがすることができ、現在サポートされているロケールと言語のリストを含む、より詳細な情報については、利用可能な機能を使用することができます「式のロケール設定が」見つけ

 

 

 

ワークシート

シートのセル、数式、画像、グラフィックスなどのコレクションです。これは、スプレッドシートワークシートに代わって必要なすべてのデータが含まれています。

スプレッドシートファイルからワークブックをロードする場合(あなたがロードされなければならないだけで、特定のワークシートを指定しない限り)、それはすべての既存のワークシートがロードされます。(例えばCSVやHTMLファイルなど)非スプレッドシートファイルを名前でロードされるか、または(例えばSYLKなど)ワークシートのスプレッドシート形式を識別することができない場合は、からファイルが含まれている、「WorkSheet1」という名前のワークシートを作成します。

あなたは新しいブックをインスタンス化するとき、PhpSpreadsheetは、それを作成するために、「WorkSheet1」と呼ばれるワークシートを使用します。

このgetSheetCount()方法は、あなたのワークブック内のワークシートの数を教えてくれます。そして、getSheetNames()この方法は、その「タブ」が表示されますにMSエクセル(または他の適切なスプレッドシートプログラム)で開くためとプレスをインデックス、ワークブック内のすべてのワークシートのリストを返します。

ブックに名前またはインデックス位置によって個々のシートにアクセスすることができます。位置は、各インデックス紙のブックをMSエクセル(または他の適切なスプレッドシートプログラム)で開かれる「ラベル」の表示順を表します。インデックスワークシートワークシートを介してアクセスするには、使用getSheet()方法を。

// Get the second sheet in the workbook
// Note that sheets are indexed from 0
$spreadsheet->getSheet(1);

ワークブックでワークシートを並べ替えることができます方法もあります。

名前のアクセスワークシートでは、使用getSheetByName()方法を、ワークシートにアクセスする名前を指定します。

// Retrieve the worksheet called 'Worksheet 1'
$spreadsheet->getSheetByName('Worksheet 1');

また、ワークシートを使用して、直接ワークシートにアクセスすることができ、常に現在アクティブなワークシートです。ワークシートは、MSエクセル(または他の適切なスプレッドシートプログラム)内のアクティブワークシート現在アクティブ開いているブックです。

// Retrieve the current active worksheet
$spreadsheet->getActiveSheet();

あなたは使用することができますsetActiveSheetIndex()し、setActiveSheetIndexByName()この方法は、インデックスまたは名前で現在アクティブなワークシートを変更します 

新しいワークシートを追加します

あなたは使用することができ、オブジェクトcreateSheet() メソッドをワークブックに新しいワークシートを追加しますSpreadsheetデフォルトでは、新しい「最終」のワークシートとして作成されます。しかし、あなたはまた、ワークシートが位置に後続のすべての作業テーブルを設定します位置に挿入され、パラメータとしてインデックスの場所を指定することができます。

$spreadsheet->createSheet();

呼ばれる新しいワークシートを作成するには、この方法を使用  Worksheet<n>した、  <n>最低の数字の唯一の保証のタイトルです。

また、あなたは、新しいワークシート(お好みの名前に設定タイトル)をインスタンス化し、この使用することができるaddSheet()方法をワークブックを挿入します 

// Create a new worksheet called "My Data"
$myWorkSheet = new \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet($spreadsheet, 'My Data'); // Attach the "My Data" worksheet as the first worksheet in the Spreadsheet object $spreadsheet->addSheet($myWorkSheet, 0); 

インデックスは二番目のパラメータの場所を指定しない場合は、最後の既存のワークシートの後に新しいシートを追加します。

コピー用紙

あなたがコピーして、使用したいワークシートのコピーを作成することによりaddSheet()、ワークブック挿入のコピーための方法と同じワークブックのワークシートを複製します

$clonedWorksheet = clone $spreadsheet->getSheetByName('Worksheet 1');
$clonedWorksheet->setTitle('Copy of Worksheet 1'); $spreadsheet->addSheet($clonedWorksheet); 

PhpSpreadsheetは、2つのワークブック間のスタイルをコピーする必要がありますので、これは、より複雑ですが、あなたはまた、1つのブックから別のブックにワークシートをコピーすることができます。addExternalSheet()提供することを目的と方法を。

$clonedWorksheet = clone $spreadsheet1->getSheetByName('Worksheet 1');
$spreadsheet->addExternalSheet($clonedWorksheet); 

どちらの場合も、開発者は、ワークシート名が繰り返されないことを保証する責任があります。ワークシートを複製するためにつながる名をコピーしようとすると、PhpSpreadsheetは例外をスローします。

シートを削除します。

あなたは、次の使用可能removeSheetByIndex()な方法をそのインデックスロケータによって、ワークブックからワークシートをワークシートを削除します

$sheetIndex = $spreadsheet->getIndex(
    $spreadsheet->getSheetByName('Worksheet 1')
);
$spreadsheet->removeSheetByIndex($sheetIndex); 

あなたが現在アクティブなワークシートを削除すると、ワークシートのインデックスの前の場所は、ワークシートが現在アクティブであるだろう。

おすすめ

転載: www.cnblogs.com/zx-admin/p/11653867.html