Вы можете создавать скрытые Row
объекты с значениями от 8 до 1048576 RowIndex
и добавлять их к sheetData
. Однако это приведет к довольно большому файлу Excel.
Лучшим, оптимизированным способом было бы определить в свойствах форматирования листа, что строки скрыты по умолчанию и видны только, если они указаны.
Например, например:
using (var spreadsheetDocument = SpreadsheetDocument.Create(filePath,
SpreadsheetDocumentType.Workbook))
{
var workbookpart = spreadsheetDocument.AddWorkbookPart();
workbookpart.Workbook = new Workbook();
var worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
worksheetPart.Worksheet = new Worksheet();
workbookpart.Workbook
.AppendChild(new Sheets())
.AppendChild(new Sheet()
{
Id = workbookpart.GetIdOfPart(worksheetPart),
SheetId = 1,
Name = "Sheet 1",
});
var sheetFormatProperties = new SheetFormatProperties()
{
DefaultRowHeight = 15,
ZeroHeight = true
};
var sheetData = new SheetData();
worksheetPart.Worksheet.Append(sheetFormatProperties, sheetData);
// Add first 8th visible rows, the rest will be hidden.
for (uint i = 1; i < 8; i++)
{
var row = new Row() { RowIndex = i };
sheetData.Append(row);
// Add cells to row ...
}
}