You need to call the OpenFile method in order to create or overwrite the file.
if (!String.IsNullOrEmpty(sd.FileName))
{
using(var fileStream = sd.OpenFile())
{
//you can use the stream if you need it (otherwise just close it)
}
AddWorksheetToExcelWorkbook(sd.FileName);
}
Caution from the MSDN page
For security purposes, this method creates a new file with the selected name and opens it with read/write permissions. This can cause unintentional loss of data if you select an existing file to save to. To save data to an existing file while retaining existing data, use the File class to open the file using the file name returned in the FileName property.