2017-04-13 43 views

回答

1

它可以在SheetDimension類中找到,它可以作爲Worksheet的屬性找到。以下代碼將使用的範圍寫入控制檯:

using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(filename, false)) 
{ 
    WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart; 
    //get the correct sheet 
    Sheet sheet = workbookPart.Workbook.Descendants<Sheet>().Where(s => s.Name == "Sheet1").First(); 
    WorksheetPart worksheetPart = workbookPart.GetPartById(sheet.Id) as WorksheetPart; 
    Console.WriteLine(worksheetPart.Worksheet.SheetDimension.Reference); 
} 
+0

由於工作表是新的,因此「SheetDimension」爲空。這隻適用於現有的文件,還是有辦法讓它爲新生成的工作表? –

+0

對於新生成的工作表,除非您通過OpenXml自行編寫,否則該值不會存在。 OpenXml中沒有任何內容自動生成該信息。如果表單是新的,那是否意味着你正在生成它?在那種情況下你不會知道範圍嗎? – petelids

+0

我知道數字範圍,但正在尋找一種內置的方式來獲得與VBA一樣的地址範圍。如果沒有實現,你有[生成Excel列名稱的很好的答案](http://stackoverflow.com/a/31035990/1958726),我會從中工作。 –

相關問題