我需要使用python將excel文件中的工作表數量限制爲特定數量。一旦該工作簿中的工作表數量達到特定數量,用戶就無法添加新的工作表。使用python限制excel文件中的工作表數量
我找不到使用任何解決方案xlsxwriter,openpyxl或xlrd
是否有使用其他一些封裝的任何選項?
我需要使用python將excel文件中的工作表數量限制爲特定數量。一旦該工作簿中的工作表數量達到特定數量,用戶就無法添加新的工作表。使用python限制excel文件中的工作表數量
我找不到使用任何解決方案xlsxwriter,openpyxl或xlrd
是否有使用其他一些封裝的任何選項?
保護工作簿also disables other worksheet operations,如移動,重命名和隱藏/取消隱藏,這可能會或可能不需要。
OTOH,VBA的處理器可以比鏈路上的一個更智能:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
If ThisWorkbook.Worksheets.Count > <Maximum> Then
With Application
.ScreenUpdating = False
.DisplayAlerts = False
Sh.Delete
.DisplayAlerts = True
.ScreenUpdating = True
End With
End If
End Sub
當然,這不會有任何影響,如果一個編輯與第三方軟件包,沒有文件運行VBA,或者在Excel中禁用宏。
要有宏,工作簿必須保存爲.xlsm
,否則Excel在打開時會出現錯誤。
請參閱Working with VBA Macros — XlsxWriter Documentation關於Python的實現。 openpyxl
cannot work with macros, only preserve them at most和xlrd
looks like being designed to only read rather than edit。或者,總是有Excel自己的COM接口pywin32
可以使用。
請問excel是否支持此功能? – Dekel
我不知道它是否有任何這樣的功能,因爲行和列可以被限制,我認爲這也會有一個選項..我不知道這個 – Jithin
首先 - 檢查如果Excel支持它(我'我真的不確定)。如果確實如此 - 接下來要看看是否有任何庫實現了它。如果沒有 - 是時候實施並將其交還給開源社區:) – Dekel