2013-10-01 14 views
8

dışındaki hücre para birimi biçimini PHPExcel $ ve yalnızca Avro kullanır olsun. Tüm para birimleri $ ve EUR'yi geçersiz kılar 'Genel' olarak işaretlenir.

SWilk'in yanıtını takip eden soru: Özel biçimi nasıl kullanırım? Ben NumberFormat.php yeni sabitleri koydu: Tamam

const FORMAT_CURRENCY_PLN_1 = '_-* #,##0.00\ [$zł-415]_-'; 
const FORMAT_CURRENCY_PLN_2 = '\-* #,##0.00\ [$zł-415]_-'; 
const FORMAT_CURRENCY_PLN_3 = '_-* "-&quot'; 
const FORMAT_CURRENCY_PLN_4 = '??\ [$zł-415]_-;[email protected]_-'; 

mı? Ben basit bir excel PLN cinsinden kur hücresi olarak biçimlendirilmiş bir hücre dosyasını kaydettiğiniz

$objPHPExcel->getCellXfByIndex($cell->getXfIndex())->getNumberFormat()->getFormatCode(); 

cevap

3

kullanarak biçimleri okumak için yapmak zorunda başka ne. .xlsx'ini çıkarın ve formatı kontrol edin. Öyle:

_-* #,##0.00\ [$zł-415]_-;\-* #,##0.00\ [$zł-415]_-;_-* "-"??\ [$zł-415]_-;[email protected]_- 

bu biçimi kullanarak veya buna dayanarak kendi yazmayı deneyin.

+0

teşekkür ederiz (veya £ kendisine girmiş bir bir hücrenin aynı biçimlendirmeyi görünüyordu). Ama nasıl kullanacağımı bilmiyorum. NumberFormat.php'ye yeni CONSTants koydum: – Marek

6

Varsayılan sabitler yalnızca Dolar ve Euro olarak tanımlanır, ancak PHPExcel sizi yalnızca bu sabit sabit değerlerle sınırlamaz. Onlar sadece dizelerdir; ve herhangi bir geçerli MS Excel biçim kodunu, yalnızca uygun dize değerine ayarlayarak numberFormat maskesi olarak ayarlayabilirsiniz. Eğer PHPExcel'in yeni bir sürümüne yükselttiğinizde onları eklemeyi hatırlamanız gerekeceğinden, kendi sabitlerinizi yeni değerler eklemek kesinlikle iyi bir fikir değildir. kendi kodu Eğer o zaman

kullanarak hücrelere uygulayabilirsiniz

define('FORMAT_CURRENCY_PLN_1', '_-* #,##0.00\ [$zł-415]_-'); 

kullanarak kendi yeni sabit tanımlarsanız,

$objPHPExcel->getActiveSheet() 
    ->getStyle('E4:E13') 
    ->getNumberFormat() 
    ->setFormatCode(
     '_-* #,##0.00\ [$zł-415]_-' 
    ); 

Veya:

kullanarak hücrelere bir para birimi biçimi uygulayabilir Birleşik Krallık Sterlini için

$objPHPExcel->getActiveSheet() 
    ->getStyle('E4:E13') 
    ->getNumberFormat() 
    ->setFormatCode(
     FORMAT_CURRENCY_PLN_1 
    ); 
+0

Çok teşekkür ederim! Ancak, FormatCode almam gerekiyor, ayarlamam. Excel dosyasında böyle bir ayar var ve FORMAT_CURRENCY_PLN_1 ile tüm hücrelere para birimi sonek koymam gerekiyor. – Marek

+0

Yüklediğiniz bir dosyadan Złote içeren bir para birimi biçimi maskesini okursanız, readDataOnly dosyasını true olarak ayarlamamışsanız, görmeniz gereken şey bu… –

+0

Tamam o. Tekrar teşekkürler. – Marek

1

(Sterling) phpExcel

$numformat= '£#,##0_-'; 
$activeSheet->getStyle($cell)->getNumberFormat()->setFormatCode($numformat); 
$activeSheet->setCellValue($cell,$val4); 

Ben para £ olarak biçimlendirilmiş bir hücre ile bir xlsx Ayıklama tarafından doğru değeri öğrendim:

İlgili konular