2013-05-07 30 views
16

Tôi đang tự động hóa bảng tính excel bằng cách sử dụng PHP.Định dạng ô thành phần trăm trong PHPExcel

Tôi đã tìm kiếm một cách để định dạng thực tế một ô thành tỷ lệ phần trăm trong PHPExcel.

tôi muốn thay đổi một giá trị như

0,077922078

để

8%

Có một giải pháp cho việc này?

Xin cảm ơn trước.

+0

bạn có thể sử dụng ceil() làm tròn đến số gần nhất và hơn append% trước đặt nó trong tập tin excel ur..http: //php.net/manual/en/function.ceil.php – Dinesh

Trả lời

32

giả di động của bạn là A1 ..

$objPHPExcel->getActiveSheet()->getStyle('A1') 
    ->getNumberFormat()->applyFromArray( 
     array( 
      'code' => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00 
     ) 
    ); 
+3

Tôi đoán rằng để có được một tỷ lệ phần trăm thẳng tức là 2% tôi cần phải loại bỏ các hình thức _00 FORMAT_PERCENTAGE_00? – cwiggo

+0

Nó hoạt động anyway nên danh tiếng ++ :) Cảm ơn – cwiggo

+0

@Chris đừng quên đánh dấu là câu trả lời –

1

thư viện PHPExcel đã xác định trước chỉ vài hằng số định dạng cơ bản. Bạn thực sự có thể xây dựng của riêng bạn cho hầu như bất kỳ mục đích (màu, định dạng số thập phân & hàng ngàn vv). Khả năng định dạng trong Excel rất lớn. Sau đây sẽ định dạng phần trăm với 3 chữ số thập phân và tô màu các giá trị âm sang màu đỏ:

$workSheet 
    ->getStyleByColumnAndRow($column, $row) 
    ->getNumberFormat() 
    ->setFormatCode('0.000%;[Red]-0.000%'); 
0

Bạn có thể thử mã này:

$colLetter = "A"; 
$rowNumber = "1"; 

$objPHPExcel->getActiveSheet() 
    ->getStyle("$colLetter:$rowNumber") 
    ->getNumberFormat() 
    ->applyFromArray([ 
     "code" => PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE 
    ]); 
+0

Bạn nên thêm giải thích về câu trả lời của bạn thêm vào câu trả lời khác. –

+0

Có tất nhiên bạn có quyền @gp_sflover, nhưng tôi nghĩ đoạn mã này đã tự mô tả :) – simhumileco