簡體   English   中英

發生System.NotSupportedException

[英]System.NotSupportedException occuring

我有此路徑可以根據日期和時間保存Excel工作表。 它顯示System.NotSupportedException

什么是正確的格式?

   string strpath = Server.MapPath("~/SavedFolder/"+ username+ "/"+DateTime.Now+".xlsx/");

您的問題(除去最后的斜杠后)是由於使用您的區域設置將DateTime.Now轉換為字符串引起的。 這將產生這樣的字符串

 h:\temp\08/06/2016 09:19:42.txt

並且此字符串包含無效字符,如您所見,調用Path.GetInvalidFileNameChars (斜杠,反斜杠被混淆為文件夾名稱的一部分,而冒號根本不是文件的有效字符)

您可以使用NET的格式化功能以這種方式准備文件名

filename= DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss");
string strpath = Server.MapPath("~/SavedFolder/"+ username+ "/"+ filename + ".xlsx");

通常,當我需要用日期時間部分標記文件時,我將日期部分按年,月,日,小時,分鍾,秒的順序排列,以方便地查看它們在支持排序的任何文件瀏覽器中的排序方式按名字。

檢查DateTime.Now.ToString()的輸出(在本例中被調用),看來它包含文件名不允許的字符。

string strpath = Server.MapPath("~/SavedFolder/"+ username+ "/"+DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") +".xlsx");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM