我想創建一個Excel工作簿,可以在保存工作簿之前自動設置或自動調整列的寬度。Python xlwt - 訪問現有的單元格內容,自動調整列寬
我一直在閱讀的Python的Excel的教程在模仿xlrd那些在xlwt找到了一些功能的希望(如sheet_names()
,cellname(row, col)
,cell_type
,cell_value
,等...)例如,假設我有以下:
from xlwt import Workbook
wb = Workbook()
sh1 = wb.add_sheet('sheet1' , cell_overwrite_ok = True)
sh2 = wb.get_sheet(0)
wb.get_sheet(0)
類似於xlrd提供的rb.sheet_by_index(0)
功能,不同之處在於前者允許你修改的內容(前提是用戶已經設置cell_overwrite_ok = True
)
假設xlwt DOES關閉呃我正在尋找的功能,我計劃再次通過每個工作表,但是這次跟蹤了爲特定列佔用大部分空間的內容,並基於此設置了列寬。當然,我也可以在寫入表單時跟蹤特定列的最大寬度,但我覺得在所有數據寫入完畢後設置寬度會更清晰。
有誰知道我能否做到這一點?如果不是,那麼爲了調整列寬,你建議做什麼?
很不錯的解決方案。我必須用'int(..)'包裝'width = arial10.fitwidth(label)',否則xlwt-0.7.5會引發ValueError。如果你的單元格寬度稍小於所需的單元格寬度,請嘗試'math.ceil(int(..))'。 – dset0x
鏈接到arial10模塊對我來說是打破了。但我發現它在github上:https://github.com/GeekPeduli/Sahana-Eden/blob/master/modules/arial10.py – Humphrey
不幸的是,這將不適用於較長的標籤,因爲總寬度可以高於65535(其中是最好的) – Jerzyk