2012-09-27 33 views
10

Tôi đã sử dụng thư viện PHPExcel để tạo tệp excel dựa trên bảng được tạo bởi truy vấn mysql. Tôi đã tạo nhiều tab với dữ liệu riêng lẻ từ các truy vấn khác nhau.PHPExcel cách áp dụng căn chỉnh cho toàn bộ tài liệu được tạo từ bảng mysql

Tôi cần căn chỉnh dữ liệu trong tất cả các ô trong tất cả các tab (trang tính) đến chính giữa.

Đây là mã của tôi:

$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). 

Tôi đã thử các sau đây để sắp xếp các văn bản trong các tế bào nhưng không có sự thay đổi:

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

Trả lời

29

Lựa chọn # 1

Set kiểu mặc định cho toàn bộ sổ làm việc

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

Lựa chọn # 2

Áp dụng phong cách để một loạt các tế bào (toàn bộ bảng tính trong trường hợp này) trên mỗi bảng tính cá nhân

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

Mr.Backer Cảm ơn bạn đã trả lời và cho Thư viện tuyệt vời! câu trả lời của bạn làm việc hoàn hảo nhưng tôi đang nhận được một khoảng trắng ở bên phải của các ô trong hàng đầu tiên (tên cột), mà tôi không muốn, có giải pháp nào để loại bỏ không gian đó. Đây là ảnh chụp màn hình: http://tinypic.com/view.php?pic=2sayqvc&s=6 – user1702273

+0

Bạn cần đặt độ rộng cột thành autocalculate –

+0

Xin lỗi, nhưng định dạng ở giữa không được áp dụng cho tên cột , có lý do nào cho điều đó và cách áp dụng cùng một định dạng cho các tên cột tức là hàng 1. – user1702273

Các vấn đề liên quan