VB.NET Can't Find SpreadSheetDocument.Creat

Michael Clymer
Michael Clymer used Ask the Experts™

I am using Visual Studio 2017, programming in VB.NET.
I have a reference in my project to DocumentFormat.OpenXml (SDK2.5, Version 2.5.5631.0, Runtime Version 4.0.30319)

At the start of the module, I have the following:
Imports DocumentFormat.OpenXml
Imports DocumentFormat.OpenXml.Packaging
Imports DocumentFormat.OpenXml.Spreadsheet

My code (plagiarized from Google) is as follows:
 Public Function CreateWorkbook(fileName As String) As SpreadsheetDocument
    Dim spreadSheet As SpreadsheetDocument = Nothing
    Dim sharedStringTablePart As SharedStringTablePart
    Dim workbookStylesPart As WorkbookStylesPart

      ' Create the Excel workbook
      spreadSheet = New SpreadsheetDocument.Create(fileName, SpreadsheetDocumentType.Workbook, False)

      ' Create the parts and the corresponding objects
      ' Workbook
      spreadSheet.WorkbookPart.Workbook = New Workbook()

      ' Shared string table
      sharedStringTablePart = spreadSheet.WorkbookPart.AddNewPart(Of SharedStringTablePart)()
      sharedStringTablePart.SharedStringTable = New SharedStringTable()

      ' Sheets collection
      spreadSheet.WorkbookPart.Workbook.Sheets = New DocumentFormat.OpenXml.Spreadsheet.Sheets()

      ' Stylesheet
      workbookStylesPart = spreadSheet.WorkbookPart.AddNewPart(Of WorkbookStylesPart)()
      workbookStylesPart.Stylesheet = New Stylesheet()
    Catch exception As System.Exception
      'System.Windows.MessageBox.Show(exception.Message, "Excel OpenXML basics", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand)
    End Try

    Return spreadSheet
  End Function

My problem is with spreadSheet = New SpreadsheetDocument.Create(fileName, SpreadsheetDocumentType.Workbook, False). I have an error that "Type 'SpreadSheetDocument.Create' is not defined." How do I fix this error?

I am an old VBA programmer struggling in VB.NET,  thanks ahead of time, as any help would be much appreciated!
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Technical Specialist
Awarded 2017
Distinguished Expert 2018
spreadSheet = SpreadsheetDocument.Create(fileName, SpreadsheetDocumentType.Workbook, False)

Open in new window

Michael ClymerConsultant


Thanks that helped. It led me to see that I needed to add WindowsBase to my references.
Michael ClymerConsultant


Shaun was very speedy with a reply, and I do know that he would have helped me further, but with his suggestion, I discovered what the issue was. I needed to add WindowsBase to my references.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial