Sheet
如何获取一个Sheet
c#
using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(dataExcelPath, false))
{
WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
Sheet sheet = workbookPart.Workbook.Descendants<Sheet>()
.FirstOrDefault(s => s.Name == bookName);
if (sheet == null)
{
Console.WriteLine($"not found {bookName}");
return;
}
WorksheetPart worksheetPart = (WorksheetPart)workbookPart.GetPartById(sheet.Id);
Worksheet worksheet = worksheetPart.Worksheet;
} 新建一个Sheet
c#
using (SpreadsheetDocument document = SpreadsheetDocument.Open(filePath, true))
{
WorkbookPart workbookPart = document.WorkbookPart;
WorksheetPart newWorksheetPart = workbookPart.AddNewPart<WorksheetPart>();
newWorksheetPart.Worksheet = new Worksheet(new SheetData());
uint sheetId = 1; //ID需要唯一
if (workbookPart.Workbook.Sheets?.Count > 0)
{
sheetId = workbookPart.Workbook.Descendants<Sheet>()
.Select(s => s.SheetId.Value)
.Max() + 1;
}
Sheet newSheet = new Sheet()
{
Id = document.WorkbookPart.GetIdOfPart(newWorksheetPart),
SheetId = sheetId,
Name = sheetName
};
Sheets sheets = workbookPart.Workbook.GetFirstChild<Sheets>();
sheets.Append(newSheet);
}