Advertisement
Guest User

Untitled

a guest
Jul 30th, 2015
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. private static SpreadsheetDocument CreateWorkbook(Stream stream)
  2. {
  3. // Create the Excel workbook
  4. var spreadSheet = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook, false);
  5.  
  6. // Create the parts and the corresponding objects
  7. // Workbook
  8. spreadSheet.AddWorkbookPart();
  9. spreadSheet.WorkbookPart.Workbook = new Workbook();
  10. spreadSheet.WorkbookPart.Workbook.Save();
  11.  
  12. // Shared string table
  13. var sharedStringTablePart = spreadSheet.WorkbookPart.AddNewPart<SharedStringTablePart>();
  14. sharedStringTablePart.SharedStringTable = new SharedStringTable();
  15. sharedStringTablePart.SharedStringTable.Save();
  16.  
  17. // Sheets collection
  18. spreadSheet.WorkbookPart.Workbook.Sheets = new Sheets();
  19. spreadSheet.WorkbookPart.Workbook.Save();
  20.  
  21. // Stylesheet
  22. var workbookStylesPart = spreadSheet.WorkbookPart.AddNewPart<WorkbookStylesPart>();
  23. workbookStylesPart.Stylesheet = new Stylesheet();
  24. workbookStylesPart.Stylesheet.Save();
  25.  
  26.  
  27. return spreadSheet;
  28. }
  29.  
  30. private static WorksheetPart AddWorksheet(SpreadsheetDocument spreadsheet, string name)
  31. {
  32. // Add the worksheetpart
  33. var worksheetPart = spreadsheet.WorkbookPart.AddNewPart<WorksheetPart>();
  34. worksheetPart.Worksheet = new Worksheet(new SheetData());
  35.  
  36.  
  37. uint sheetId = 1;
  38. var sheets = spreadsheet.WorkbookPart.Workbook.GetFirstChild<Sheets>();
  39. if (sheets.Elements<Sheet>().Any())
  40. {
  41. sheetId = sheets.Elements<Sheet>().Select(s => s.SheetId.Value).Max() + 1;
  42. }
  43.  
  44. // Add the sheet and make relation to workbook
  45. var sheet = new Sheet
  46. {
  47. Id = spreadsheet.WorkbookPart.GetIdOfPart(worksheetPart),
  48. SheetId = sheetId,
  49. Name = name
  50. };
  51.  
  52. sheets.Append(sheet);
  53.  
  54. worksheetPart.Worksheet.Save();
  55. spreadsheet.WorkbookPart.Workbook.Save();
  56.  
  57. return worksheetPart;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement