2009-07-30 103 views
1

我想從PHP寫一個excel文件,並且我需要某些單元格具有日期類型;你有什麼想法是這種類型的單元格的格式代碼?Excel BIFF文件格式 - 日期的單元格類型

我使用http://pizzaseo.com/php-excel-creator-class的代碼來生成excel文件。

謝謝。

+1

您的問題已回答?如果是這樣,你可能想接受一個答案。如果沒有,請告訴我們爲什麼不這樣做,我們可以(也許)幫助更多... – 2009-08-05 02:16:03

回答

2

你的問題有點含糊,我知道關於PHP一點,但我是一個類似Python包的維護者......所以這裏是一個試圖幫助:

Excel不會在分化數字和日期之間的BIFF記錄級別。 XLS讀者可以判斷作者是否打算使用日期的唯一方法是解析作者與所討論的單元格(間接)關聯的「數字格式」。

我假定你正在使用此格式功能設置什麼樣的包裝所謂的「格式」(其中不僅包括「數字格式」,但對齊方式,背景,邊框,...)的num_format:

function setNumFormat($num_format) 

$ num_format應該是Excel的「數字格式」(例如,您可能使用「$ 0.00」的金額)。對於某個日期,您只需使用Excel提供的標準日期格式即可,或者您可以使用自定義格式,如「yyyy-mm-dd hh:mm:ss」(調試時很方便)。

然後你做:

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

凡如上所述$格式。對於某個日期,$值應該是一個浮點日數,其中1900-03-01T00:00:00表示爲日數61.0,並且您應該避免更早的日期,因爲...... [長時間省略],以及是否存在一個「datemode」或「1904」選項可用,確保您正在使用(應爲默認值)0或False或「不,謝謝」選項。

0

下面是從Microsoft Excel的二進制格式的參考文件,這個給你所有關於不同細胞類型的信息:

Microsoft Excel 97-2007 Binary File Format

+1

該文檔如何幫助提問者?你真的讀過它嗎?沒有像「日期」單元類型那樣的東西。事實上,該文件無論如何都不以「細胞類型」的方式進行談論。它記錄了大量的記錄類型。見第21頁;這就是除了實際記錄佈局之外關於單元格內容的所有內容。它根本沒有提到「日期」。 NUMBER,RK和MULRK記錄用於浮點數(*包括*日期) – 2009-07-31 23:16:29