PHPExcel如何对从mysql表创建的整个文档应用对齐

PHPExcel如何对从mysql表创建的整个文档应用对齐,php,phpexcel,Php,Phpexcel,我使用PHPExcel库根据mysql查询创建的表生成excel文件。我创建了多个选项卡,其中包含来自不同查询的单个数据 我需要将所有选项卡(工作表)中所有单元格中的数据对齐到中心 这是我的代码: $mysql_xls = new MySqlExcelBuilder($mysql_db,$mysql_user,$mysql_pass); // Add the SQL statements to the spread sheet $tab_name = "tabname"; $mysql_xl

我使用
PHPExcel
库根据mysql查询创建的表生成excel文件。我创建了多个选项卡,其中包含来自不同查询的单个数据

我需要将所有选项卡(工作表)中所有单元格中的数据对齐到中心

这是我的代码:

$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);
选项#1

为整个工作簿设置默认样式

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

将样式应用于每个工作表上的一系列单元格(本例中为整个工作表)

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

巴克先生感谢您的回复和令人惊叹的图书馆!你的答案很好,但是我在第一行(列名)的单元格右边有一个空格,我不想要,有没有解决办法去掉这个空格。这是一个屏幕截图:您需要将列宽设置为autocalculateSorry,但列名不使用“居中”格式,这有什么原因吗?如何为列名(即第1行)应用相同的格式。您使用了两种方法中的哪一种?PHPExcel不知道它是一个列名,它只是工作表中的另一个单元格,因此它不会选择要应用样式选项1的单元格。除第一行外,所有单元格均应用格式设置。