我有一个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()
答案 0 :(得分:0)
我假设你已经知道如何创建csv,所以check this question显示了如何将流保存到文件。在使用ASP.NET时,请确保您具有相应的修改权限。
<强>结论强>
由于您希望向用户提供下载(而不是将其保存在服务器中),而csv基本上是一个文本文件,请查看this
答案 1 :(得分:0)
与编写普通文件没什么不同。如果要将文件保存到应用程序中的文件夹,则应使用Server.MapPath("~\MyCsvFiles")
获取文件的物理路径。
答案 2 :(得分:0)
根据IIS的版本,ASPNET或NETWORK SERVICE需要您正在写入的服务器文件夹的写权限;然后用StreamWriter或您首选的方法写出CSV文件。如果你真的想要一个Excel文件,那么考虑使用EPPlus。