2012-09-27 10 views
10

から作成されたドキュメント全体にアラインメントを適用する方法PHPExcelライブラリを使用して、mysqlクエリによって作成されたテーブルに基づいてExcelファイルを生成しました。さまざまなクエリの個々のデータを含む複数のタブを作成しました。PHPExcel mysqlテーブル

すべてのタブ(ワークシート)のすべてのセルのデータを中央に揃える必要があります。

これは私のコードです:

$mysql_xls = new MySqlExcelBuilder($mysql_db,$mysql_user,$mysql_pass); 

// Add the SQL statements to the spread sheet 

$tab_name = "tabname"; 
$mysql_xls->add_page($tab_name,$sql_statement,NULL,'A',1); 

$phpExcel = $mysql_xls->getExcel(); 

$phpExcel->setActiveSheetIndex(0); // Set the sheet to the first page (default first page). 

私はセル内のテキストが、変更なしを揃えるために、以下を試してみました:

$phpExcel->getActiveSheet(0)->getStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 

答えて

29

オプション#1

セットブック全体の既定のスタイル

$objPHPExcel->getDefaultStyle() 
    ->getAlignment() 
    ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 

オプション#2

は、個々のワークシート上のセルの範囲(ここでは、ワークシート全体)に対する応答をとするため

$phpExcel->getActiveSheet() 
    ->getStyle($phpExcel->getActiveSheet()->calculateWorksheetDimension()) 
    ->getAlignment() 
    ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); 
+0

Mr.Backerのおかげでスタイルを適用します素晴らしい図書館!あなたの答えは完璧に働いていましたが、最初の行(列名)のセルの右側に空白が表示されていますが、これは不要です。ここではスクリーンショットです:http://tinypic.com/view.php?pic=2sayqvc&s=6 – user1702273

+0

列幅を自動計算に設定する必要があります –

+0

申し訳ありませんが、中心にする書式は列名に適用されませんそれには何らかの理由があります。列名、つまり1行目に同じ書式を適用する方法はありますか。 – user1702273