1
A
回答
1
我創建了一個StringBuilder,並使用以下代碼將內容轉儲到Response對象(「csv」是StringBuilder變量)。
Response.ContentType = @"application/x-msdownload";
Response.AppendHeader("content-disposition", "attachment; filename=" + FILE_NAME);
Response.Write(csv.ToString());
Response.Flush();
Response.End();
0
我已經幾次使用的RKLib導出庫有很大的影響,這種使用內存流,可以給出任何數據表,它會作爲一個CSV下載導出:
http://www.codeproject.com/KB/aspnet/ExportClassLibrary.aspx
1
使用context.Response.OutputStream。
Here's一個例子。
2
實現一個IHttpHandler。
我用類似於ProcessResponse爲outputing之前已經在一個數據庫表構建一個CSV以下的東西......
public void ProcessRequest(HttpContext context)
{
HttpResponse response = context.Response;
HttpRequest request = context.Request;
//Get data to output here...
//Turn off Caching and enforce a content type that will prompt to download/save.
response.AddHeader("Connection", "close");
response.AddHeader("Cache-Control", "private");
response.ContentType = "application/octect-stream";
//Give the browser a hint at the name of the file.
response.AddHeader("content-disposition", string.Format("attachment; filename={0}", _filename));
//Output the CSV here...
foreach(BatchDTO.BatchRecordsRow row in dtoBatch.BatchRecords)
response.Output.WriteLine(row.Data);
response.Flush();
response.Close();
}
有許多,使生成CSV容易庫,你應該能夠將它傳遞給Response.OutputStream讓它寫到那裏,而不是文件流。
相關問題
- 1. 重定向bash:來自變量的內容,而不是來自文件
- 2. 如何利用內存流而不是文件流
- 3. 緩存到ASP.NET中的文件(而不是內存)
- 4. 自變量的內容,而不是一個文件需要
- 5. 內存流vs文件流靜態內容下載
- 6. 來自url的PHP grep文件內容
- 7. Asp.net內存問題,而文件上傳
- 8. 顯示[內容]而不是實際內容的郵件
- 9. 獲得來自標籤的文本,而不內容
- 10. 來自asp.net頁面內容的PDF
- 11. FileReader/Scanner讀取文件名,而不是.txt文件的內容
- 12. 保存內容與文件放內容
- 13. 緩存字符串中的在線文件內容而不是本地文件
- 14. QLPreviewController顯示文件名稱而不是文件內容來自服務器的文件
- 15. 傳遞「文件內容」而不是「文件位置」
- 16. 來自UIWebView的iOS緩存內容
- 17. 內存流和文件流的區別
- 18. 返回數組內容而不是內存地址
- 19. Java打印陣列內存地址而不是陣列內容
- 20. 如何刪除文件的內容而不刪除它自己?
- 21. 「JavaScript堆內存不足」,而流大文件
- 22. jQuery的事件不是來自內部的.html加載內容燒製
- 23. 保持下載的洪流在內存中,而不是文件libtorrent
- 24. 從URL到文件的流文件不存儲在內存中
- 25. Draggable拖出內容而不是容器
- 26. 內存映射文件 - 映射結構而不是文件?
- 27. Plone內容類型作爲文件夾而不是事件
- 28. 使用ContentPlaceHolder的默認內容而不是頁面內容
- 29. 獲取文件名,而不是內容與的FtpWebRequest
- 30. 顯示指向文件的鏈接而不是實際內容
我發現如果你有很多數據你也應該添加response.BufferOutput = false; ,以便立即彈出文件下載框,而不是等待所有行在服務器上緩衝。 – 2009-10-30 03:39:01