Сохранить StringBuilder на диск в формате .CSV - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть объект StringBuilder, который я построил со значениями, разделенными запятыми, которые я хотел бы сохранить в виде файла .csv.

Я знаю, как передавать данные в формате CSV, но какМогу ли я физически сохранить данные в виде файла .csv на сервере?

В настоящее время я транслирую CSV, как показано ниже, где sb равно StringBuilder:

Response.Clear()
Response.AddHeader("Content-Disposition", "attachment;filename=List.csv")
Response.ContentType = "text/csv"
Response.Write(sb.ToString)
Response.End()

Ответы [ 3 ]

0 голосов
/ 07 декабря 2011

Это не отличается от написания нормального файла. Если вы хотите сохранить файл в папке вашего приложения, вы должны использовать Server.MapPath("~\MyCsvFiles"), чтобы получить физический путь к файлу.

0 голосов
/ 07 декабря 2011

В зависимости от версии IIS, ASPNET или NETWORK SERVICE требуются разрешения на запись в папку сервера, на которую вы пишете; затем просто запишите CSV-файл с помощью StreamWriter или предпочитаемого вами метода. Если вы действительно хотите файл Excel, рассмотрите возможность использования EPPlus.

0 голосов
/ 07 декабря 2011

Я предполагаю, что вы уже знаете, как создать CSV, поэтому проверьте этот вопрос , который показывает, как сохранить поток в файл.Поскольку вы используете ASP.NET, убедитесь, что у вас есть соответствующие разрешения для изменения.

Заключение

Поскольку вы хотите сделать загрузку доступной для пользователя (вместо этогосохранить его на сервере) и CSV в основном текстовый файл проверить это

...