phpExcelは読み取ったセル情報をメモリに保存し、渡すことができます
コードをコピーします コードは次のとおりです:
PHPExcel_Settings::setCacheStorageMethod()
さまざまなキャッシュ方法を設定することで、メモリ消費量を削減するという目的は達成されました。
1. セルデータをシリアル化してメモリに保存します
コードをコピーします コードは次のとおりです:
PHPExcel_CachedObjectStorageFactory::cache_in_memory_serialized
;
2. セルをシリアル化し、Gzip 圧縮してメモリに保存します
コードをコピーします コードは次のとおりです:
PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip
;
3. 一時ディスク ファイルへのキャッシュが遅くなる可能性があります
コードをコピーします コードは次のとおりです:
PHPExcel_CachedObjectStorageFactory::cache_to_discISAM;
4. php://temp
に保存します。
コードをコピーします コードは次のとおりです:
PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp
;
5. memcache に保存します
コードをコピーします コードは次のとおりです:
PHPExcel_CachedObjectStorageFactory::cache_to_memcache
例:
方法 4:
コードをコピーします コードは次のとおりです:
$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
$cacheSettings = array( 'memoryCacheSize' => '8MB'
);
PHPExcel_Settings::setCacheStorageMethod( $cacheMethod、$cacheSettings);
タイプ 5:
コードをコピーします
コードは次のとおりです: $cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_memcache $cacheSettings = array( 'memcacheServer' => 'localhost',
'me mcacheポート' => 11211 、
'cachetime'
その他の方法
最初の方法では、複数の Excel ファイルを生成する必要はありません。データの合計量に基づいて各シートがエクスポートする行数を計算します。以下は、PHPExcel が複数のシートを生成する方法です。
以下は、PHPExcel が複数のシートを生成する方法です:
コードをコピーします
コードは次のとおりです:
$sheet = $objPHPExcel->getActiveSheet();
$sheet->setCellValue('A1',$x); >setCellValue( 'B1',$y);
2 番目の方法では、毎回ページを更新せずに、ajax をバッチでエクスポートすることを検討できます。
コードをコピーします
コードは次のとおりです:
Excel にエクスポート $('#export').click(function() {
$.ajax({
) url: " export .php",
data: getData(), //php でこれを取得することもできます。通常はデータベースを読み取ります
success: function(response){
window.location.href = response.url;
}
})
});
コードをコピーします コードは次のとおりです:
//export.php
$data = $_POST['data'];
$xls = new PHPExcel(); $xls-> ;loadData($formattedData);
$xls->exportToFile('excel.xls');
$response = array(
'success' => true,
'url' => $url
);
header('Content-type: application/json');
?>
データの量が大きい場合は、2 番目の方法である ajax を使用してデータをエクスポートすることをお勧めします。上記の方法は単に処理を提供するだけであり、詳細を自分で追加できます。
http://www.bkjia.com/PHPjc/326554.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/326554.html技術記事 phpExcel は、読み取ったセル情報をメモリに保存します。次のようにコードをコピーすることで、さまざまなキャッシュ メソッドを設定できます: PHPExcel_Settings::setCacheStorageMethod()。