【发布时间】:2017-04-13 20:38:08
【问题描述】:
我需要在新工作表中获取已使用的单元格范围。例如:
A1:AY55
在 Excel VBA 中,这可以通过恰当命名的 UsedRange 属性获得。 OpenXML 中是否有等价物?
【问题讨论】:
标签: c# excel openxml openxml-sdk
我需要在新工作表中获取已使用的单元格范围。例如:
A1:AY55
在 Excel VBA 中,这可以通过恰当命名的 UsedRange 属性获得。 OpenXML 中是否有等价物?
【问题讨论】:
标签: c# excel openxml openxml-sdk
它可以在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);
}
【讨论】:
SheetDimension 为空,因为工作表是新的。这仅适用于现有文件还是有办法为新生成的工作表获取它?