2017-04-13 12 views

答えて

1

Worksheetのプロパティとして見つけることができるSheetDimensionクラスに見つけることができます。次のコードは、使用された範囲をコンソールに書き出します。

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'はnullです。これは既存のファイルでのみ機能するのでしょうか、または新しく生成されたワークシートのために入手する方法がありますか? –

+0

新しく生成されたシートの場合、OpenXml経由で自分で書き込まない限り、値は存在しません。残念なことにその情報を生成するためにOpenXml内に自動化されたものはありません。シートが新しいのであれば、それはあなたがそれを生成しているということですか?その場合、あなたはすでに範囲を知っていませんか? – petelids

+0

私は数値範囲を知っていますが、VBAのようにアドレス範囲を取得する組み込みの方法を探していました。これが実装されていない場合は、私が作業する[Excelの列名を生成するための素晴らしい答え](http://stackoverflow.com/a/31035990/1958726)があります。 –

関連する問題