Excel'de BIFF dosya formatı - tarih hücre tipi

3 Cevap php

Ben php bir excel dosyası yazmak çalışıyorum, ve ben bazı hücreler tarih türünü olması gerekir ki; Eğer hücre türü için biçim kodu herhangi bir fikir var mı?

Ben excel dosyaları oluşturmak için http://pizzaseo.com/php-excel-creator-class kodu kullanıyorum.

Teşekkürler.

3 Cevap

Sorunuzu biraz muğlak ve PHP hakkında çok az şey biliyor, ama ben benzer bir Python paketi sürdürücü ben ... işte yardımcı olmak için bir girişimde bulunuyor:

Excel numaraları ve tarihler arasında BIFF rekor düzeyde ayrım yapmaz. Bir XLS okuyucu bir tarih yazar tarafından amaçlanan olup olmadığını söyleyebilir tek yolu söz konusu hücre ile yazar ilişkili olduğu "sayı biçimini" (dolaylı) ayrıştırmak için.

Ben paketi ("sayı biçimini" ama hizalama, arka plan, sınırları, ... sadece içerir) bir "biçim" dediği num_format ayarlamak için bu Format işlevini kullandığınızı tahmin:

function setNumFormat($num_format)

$ Num_format Excel "sayı biçimi" (Eğer, "$ 0.00" kullanabilirsiniz bir para tutarı örneğin) olmalıdır. Bir tarih için sadece Excel sağlar standart tarih biçimleri hangisi tercih kullanabilir, ya da "yyyy-aa-gg ss: dd: ss" gibi bir özelleştirilmiş biçimi kullanabilirsiniz (kullanışlı hata ayıklama).

Sonra bunu:

worksheet->write($row, $col, $value, $format)

Yukarıda tarif edildiği gibi $ format olduğu. Bir tarih için, $ değer 1900-03-01T00 bir kayan nokta günlük sayı olmalıdır: 00:00 gün-sayı 61.0 olarak temsil edilir ve ... [uzun rant atlanmış] çünkü önceki tarihleri ​​kaçınmalısınız, ve varsa Bir "datemode" ya da mevcut "1904" seçeneği, siz (varsayılan olmalıdır) 0 veya Yanlış ya da "hayır, teşekkürler" seçeneğini kullandığınızdan emin olun.

İşte Microsoft Excel ikili biçimi için referans belge var, bu size çeşitli hücre tipleri ile ilgili tüm bilgileri verir:

Microsoft Excel 97-2007 Binary File Format

http://www.codeplex.com/PHPExcel tam bir çözüm mopre olabilir.