有沒有辦法以編程方式獲取 Microsoft Excel 在 C# 的作業表名稱中不接受的字符?
例如,我知道File.GetInvalidFileNameChars()將回傳一個字符陣列,其中包含 Windows 檔案名中不可接受的字符。
我檢查了OpenXML 的檔案,但找不到任何可以幫助我的東西。
編輯
看起來很奇怪,OpenXML 實際上會允許您創建一個無效的作業表名稱,如下所示:
Sheet sheet = new Sheet { ..., Name="?/" }
sheets.Add(sheet)
程式將運行,作業表將在基礎 XML 檔案中生成。但是如果你嘗試用excel打開它會失敗......
uj5u.com熱心網友回復:
OpenXML 規范僅規定作業表名稱必須是唯一的(第 1 部分中的列印頁碼為 1568)。規范不是很完善,.net openxml 庫很樂意允許您以多種方式創建無效的 excel 檔案。
Excel 施加了自己的限制,沒有一種程式化的方式來檢索該資訊。
所以答案是這個答案的副本,只是不要做這些事情:
- 您鍵入的名稱不超過 31 個字符。
- 該名稱不包含以下任何字符:
: \ / ? * [ ] - 您沒有將名稱留空。
順便說一句,不可列印的 ASCII 是有效的作業表名稱。ˉ\_(ツ)_/ˉ
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/513884.html
標籤:C#。网打开xml
下一篇:介面變數宣告
