2013-12-05 1 views
0

Я создал файл excel из таблицы asp.net и теперь могу его загрузить.сохранить файл как excel - это папка с помощью строкового писателя

Теперь я хочу сохранить этот файл excel на сервере, чтобы иметь возможность его использовать. Я попытался использовать строковый писатель, чтобы сохранить папку с файлом без успеха. Вот мой код, который я написал для создания файла из asp.net.

tbl_loctbl.Controls.Clear(); 
LoadDetails(); 
Response.Clear(); 
Response.AddHeader("content-disposition", "attachment;filename=ProfessorWise.xls"); 
Response.ContentType = "application/ms-excel"; 
System.IO.StringWriter sw = new System.IO.StringWriter(); 
System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw); 
tbl_loctbl.RenderControl(hw); 
Response.Write(sw.ToString()); 
Response.End(); 

С этого кода файл сгенерирован и загружен на компьютер пользователя. Loaddetails() - это функция, в которой я загружаю данные в таблицу asp.net, а затем генерирую файл excel. Как я могу сохранить его на сервере?

ответ

0

Если я правильно понял ваши задания, вы хотите сохранить файлы на своем веб-сервере с помощью своего веб-приложения.

Если вы используете IIS на своем веб-сервере для запуска своего приложения C#, вам необходимо предоставить разрешение на доступ к папке, где вы хотите написать файл Excel/папку.

пул приложений должен быть таким же, как используется веб-приложение.

Update: 

Прежде всего вам необходимо предоставить разрешение на использование папки, в которой вы сохраняете файлы/папки. Разрешение, которое вам нужно предоставить, - это приложение, используемое вашим веб-приложением.

После этого в IIS вы щелкните правой кнопкой мыши на своем сайте и добавьте виртуальный каталог. Здесь вы можете определить псевдоним папки. Ваш код будет распознавать это как фактическую папку в проекте. И здесь вам нужно выбрать физический путь.

+0

да это право, но где я могу определить путь для сохранения файла на сервере – sharad

+0

проверить мое обновление. – Mana

0

пытается использовать этот

string path = Server.MapPath("Print_Files"); // folder path 
    Random rnd = new Random(); 
    int month = rnd.Next(1, 13); // creates a number between 1 and 12 
    int dice = rnd.Next(1, 7); // creates a number between 1 and 6 
    int card = rnd.Next(9); // creates a number between 0 and 51 
    string file_name = "filename" +month + dice + card + ".pdf"; // to prevent duplicate 
    FileStream file = new FileStream(path + "/" + file_name, FileMode.OpenOrCreate, FileAccess.ReadWrite); 
    file.Write(bytes, 0, bytes.Length); 
    file.Dispose();