Используя SmartXLS DLL я не могу изменить имя по умолчанию при открытом - PullRequest
1 голос
/ 10 ноября 2010

Я использую smartxls в своем проекте asp.net с c #.У меня есть следующий код:

var excel = new SmartXLS.WorkBook();
string projPath = AppDomain.CurrentDomain.BaseDirectory;
excel.readXLSX(projPath + @"ExcelTemplates\" + template);
excel.ImportDataTable(....)
Response.ContentType = "application/vnd.ms-excel";
excel.write(Context.REsponse.OutputStream);

Кажется, это работает нормально, мои данные открываются непосредственно по ссылке на странице на моей странице aspx, но при открытии автоматически присваивает файлу имя default.xlsЯ не могу понять, как изменить это имя.Я пытался использовать как excel.setSheetName, так и excel.DefinedName, но ни то, ни другое не меняет это имя таблицы Excel при ее открытии, это всегда default.xls.Кто-нибудь знает, как установить это имя с моим кодом выше?Я знаю, что могу переименовать, если я сохраню его непосредственно в путь, например, C: \ filename в записи, но мне нужно, чтобы он имел конкретное имя и автоматически открывался для клиента при нажатии кнопки или ссылки.

Спасибо

1 Ответ

2 голосов
/ 10 ноября 2010

Вам необходимо явно указать имя файла.

Response.ContentType = "application / vnd.ms-excel";

// добавить эту строку

Response.Addheader "Content-Disposition", "attachment; Filename =" & youfileName & ".xls"

excel.write (Context.REsponse.OutputStream);

...