看板 Python 關於我們 聯絡資訊
不知道有沒有人對這個套件熟悉的,我遇到一個很困擾的問題, 程式碼請參考 http://pastie.org/5338051 在 6~9 行我先寫了 01:02:03 這樣的字串在 (0,0) 這個 cell, 並將該 cell 設為字串格式,然後存檔。 如果後面幾行 mark 起來,打開剛剛產生的 xlsx 檔,看起來資料是正常的 (不過儲存格的格式還是通用) 接著在第 11~14 行,我開啟了剛剛存的 xlsx 檔,並在 (0,1) 寫了 04:05:06, 一樣設成字串格式並存檔。 這時候打開 xlsx 檔,會發現 (0,0) 這個 cell 的儲存格格式 被自動轉成自訂的 hh:mm 格式....orz 我試過執行 6~9 之後打開 excel,然後把所有儲存格轉成文字格式, 再執行 11~14 ,結果是 (0,0) 變成 0.04309.... 也就是 01:02:03 轉成自訂的 hh:mm 再轉成文字這樣... 請問有什麼方法可以不要讓 excel 自己轉格式或是強制儲存格的格式嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.190.212
kilfu0701:應該是這個套件 把檔案讀回去的值 type放錯了 11/07 16:43
kilfu0701:試看看把 /reader/worksheet.py 的138行附近的 11/07 16:46
kilfu0701:ws.cell(coordinate).value = value 換成 11/07 16:47
kilfu0701:ws.cell(coordinate).set_value_explicit(value=value, 11/07 16:47
kilfu0701: data_type=data_type) 11/07 16:47
謝謝,改成這樣就可以了 (大心~)
Catbert:寫資料前要先設定"儲存格"格式 .NumberFormat = "@" 11/07 17:09
※ 編輯: eaden 來自: 122.116.190.212 (11/08 11:12)