2011-07-25 27 views
37

Tôi có một bảng đơn giản như:Merge giá trị di động với PHPExcel - PHP

 

- id 
- first_name 
- last_name 
- email 
- phone 
 

Tôi đang sử dụng PHPExcel để xuất dữ liệu của tôi trong định dạng XLS

 

    $rowNumber = 1; 
    while ($row = mysql_fetch_row($result)) { 
     $col = 'A'; 
     foreach($row as $cell) { 
      $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber,$cell); 
      $col++; 
     } 
     $rowNumber++; 
    } 
 

Bây giờ tôi muốn kết hợp hai các trường first_name & last_name trong một ô

Tôi đã thử:

 

$rowNumber = 1; 
    while ($row = mysql_fetch_row($result)) { 
    $objPHPExcel->getActiveSheet()->setCellValue('A'.$rowNumber,$row['id']) 
           ->setCellValue('B'.$rowNumber,$row['first_name']) 
           ->setCellValue('C'.$rowNumber,$row['last_name']);                 
    $rowNumber++; 
} 
 

Nhưng tôi gặp lỗi và không hoạt động. Bất kỳ giúp đỡ?

+1

các lỗi là gì? –

+0

Jared Farrish >> giống như: http://dpaste.de/uXbH/raw/ – Cheerio

+0

Dường như tiêu đề của bạn không hoạt động. Hãy chắc chắn rằng họ là trước khi bất kỳ đầu ra nào (thậm chí khoảng trắng). –

Trả lời

88

Có một phương pháp cụ thể để làm điều này:

$objPHPExcel->getActiveSheet()->mergeCells('A1:C1'); 

Bạn cũng có thể sử dụng:

$objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:C1'); 

Điều đó sẽ làm các trick.

+0

Xin chào Jahmic, tôi muốn kiểm tra xem hai hàng đã được hợp nhất hay chưa. Tôi có 1000 hàng và nếu có hai hàng nào được hợp nhất vào giữa thì thoát. Bạn có thể giúp không? – user3816325

+0

@ user3816325 Tôi đã không sử dụng các phương pháp này trong một vài năm nay, nhưng tôi không có lý do để tin rằng bất cứ điều gì là khác nhau. Tạo bản sao lưu và cho nó đi. Nếu câu hỏi của bạn phức tạp hơn, có lẽ việc đăng một câu hỏi mới là cách để đi. – Jahmic

18

Hãy thử điều này

$objPHPExcel->getActiveSheet()->mergeCells('A1:C1'); 
0

$this->excel->setActiveSheetIndex(0)->mergeCells("A".($p).":B".($p)); cho sáp nhập năng động của các tế bào

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