2

我正在使用 Microsoft 的 OpenXML SDK 1.0 版对 .xlsx 文件进行一些基本解析。我可以获取和解析工作表,并且可以获得工作表名称列表,但我无法终生弄清楚如何将名称与工作表联系起来。

我知道<sheet name="My Sheet" sheetId="1" r:id="rId1"/>工作簿中的元素通过定义的关系链接到特定的工作表xl/_rels.xml,但我看不到任何关系信息在 API 中公开的位置。

我正在使用 C#,但任何 VB.NET 示例都会有帮助。

我觉得这应该很简单,但我无法弄清楚。看起来它在 SDK 的 v2.0 中可能更直接,但目前升级不是一个选项。

4

2 回答 2

2

啊……是的,它最终变得非常简单。该类WorkbookPart公开了一个WorksheetParts我一直在使用的属性,但它也公开了一个GetPartById(relationshipId)方法。

给定工作簿 XML 中的元素列表(<sheet/>每个元素都包含名称和关系 ID),我只需要按 ID 检索每个 WorksheetPart。

于 2010-06-14T20:27:00.957 回答
1
// Iterate Sheets; Get Name and xref WorksheetPart (container for Worksheet)
foreach (Sheet sheet in doc.WorkbookPart.Workbook.Sheets)
{
    string sName = sheet.Name;
    string sID = sheet.Id;

    WorksheetPart part = (WorksheetPart)doc.WorkbookPart.GetPartById(sID);
    Worksheet actualSheet = part.Worksheet;
}
于 2012-07-02T14:35:23.557 回答