O Excel adiciona dados à WorksheetPart no código por trás
Olá pessoal Estou criando um arquivo do Excel com 3 planilhas no código a seguir.
using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Create(path + @"\UrlReport.xlsx", SpreadsheetDocumentType.Workbook))
{
// create the workbook
spreadSheet.AddWorkbookPart();
spreadSheet.WorkbookPart.Workbook = new DocumentFormat.OpenXml.Spreadsheet.Workbook();
// CREATE FIRST SHEET
WorksheetPart newWorksheetPart1 = spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>();
newWorksheetPart1.Worksheet = new DocumentFormat.OpenXml.Spreadsheet.Worksheet();
// create sheet data
newWorksheetPart1.Worksheet.AppendChild(new DocumentFormat.OpenXml.Spreadsheet.SheetData());
// save worksheet
newWorksheetPart1.Worksheet.Save();
// create the worksheet to workbook relation
spreadSheet.WorkbookPart.Workbook.AppendChild(new DocumentFormat.OpenXml.Spreadsheet.Sheets());
spreadSheet.WorkbookPart.Workbook.GetFirstChild<DocumentFormat.OpenXml.Spreadsheet.Sheets>().AppendChild(new DocumentFormat.OpenXml.Spreadsheet.Sheet()
{
Id = spreadSheet.WorkbookPart.GetIdOfPart(newWorksheetPart1),
SheetId = 1,
Name = "Sheet1"
});
//CREATE SECOND SHEET
WorksheetPart newWorksheetPart2 = spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>();
newWorksheetPart2.Worksheet = new DocumentFormat.OpenXml.Spreadsheet.Worksheet();
// create sheet data
newWorksheetPart2.Worksheet.AppendChild(new DocumentFormat.OpenXml.Spreadsheet.SheetData());
// save worksheet
newWorksheetPart2.Worksheet.Save();
// create the worksheet to workbook relation
spreadSheet.WorkbookPart.Workbook.GetFirstChild<DocumentFormat.OpenXml.Spreadsheet.Sheets>().AppendChild(new DocumentFormat.OpenXml.Spreadsheet.Sheet()
{
Id = spreadSheet.WorkbookPart.GetIdOfPart(newWorksheetPart2),
SheetId = 2,
Name = "Sheet2"
});
//CREATE THIRD SHEET
WorksheetPart newWorksheetPart3 = spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>();
newWorksheetPart3.Worksheet = new DocumentFormat.OpenXml.Spreadsheet.Worksheet();
// create sheet data
newWorksheetPart3.Worksheet.AppendChild(new DocumentFormat.OpenXml.Spreadsheet.SheetData());
// save worksheet
newWorksheetPart3.Worksheet.Save();
// create the worksheet to workbook relation
spreadSheet.WorkbookPart.Workbook.GetFirstChild<DocumentFormat.OpenXml.Spreadsheet.Sheets>().AppendChild(new DocumentFormat.OpenXml.Spreadsheet.Sheet()
{
Id = spreadSheet.WorkbookPart.GetIdOfPart(newWorksheetPart3),
SheetId = 3,
Name = "Sheet3"
});
spreadSheet.WorkbookPart.Workbook.Save();
}
Preciso saber como posso preencher as células das 3 planilhas de dados. Eu preciso apenas adicionar strings a algumas células que provavelmente estarão em algum array de dados ou multidimensional.