public Task Executes() { try { //Directory.GetCurrentDirectory() 獲取項目的根文件夾,就是當前項目路徑(這個我之前沒有加,用的相對路徑,系統匹配的路徑寫法不對,所以會報錯) //@"\File\" 我在項目下建的文件夾,注意用反斜杠 //DateTime.Now.ToString("yyyyMMdd") 今天日期 string filePath = Directory.GetCurrentDirectory() + @"\File\" + DateTime.Now.AddDays(-1).ToString("yyyyMMdd"); //文件路徑 //如果沒有這個文件夾就創建 if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } List<string> datelist = new List<string>();//寫入的數據 datelist.Add("11"); datelist.Add("2222");var strRows = new StringBuilder();//數據拼寫,這里是測試數據不多,但是真是情況基本是大量數據。所以要用StringBuilder for (int i = 0; i < datelist.Count(); i++) { strRows.Append(datelist[i]); strRows.Append("\r\n");//換行 } string sExportFileName = DateTime.Now.AddDays(-1).ToString("yyyyMMdd") + ".csv"; //文件名 string path = filePath + "\\" + sExportFileName; //檢查是否有這個文件,沒有創建文件,最后一定要Close,不然文件占用無法寫入 if (!File.Exists(path)) { File.Create(path).Close(); } //寫入文件 using (System.IO.StreamWriter file = new System.IO.StreamWriter(path, true)) { file.WriteLine(strRows); file.Dispose(); } return Task.CompletedTask; } catch (Exception ex) { return null; } }
找到你剛才的文件夾就可以看到一個csv的文件,用記事本或者excle打開,就是剛才的數據啦
對了最后寫入文件的方法用這個也可以:
File.WriteAllText(path, strRows.ToString());
不愧是我!