2016-09-25 17 views
0

csvファイルを保存するにはこの問題があります。FolderPickerを使用してCSVファイルを保存する方法

private async void btnPrint_Click(object sender, RoutedEventArgs e) 
{ 
    var picker = new Windows.Storage.Pickers.FolderPicker(); 
    picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop; 
    picker.FileTypeFilter.Add(".csv");//add any extension to avoid exception 

    var folder = await picker.PickSingleFolderAsync(); 

    if (folder != null) 
    { 
     string strFilename = strBeginDate + "_To_" + EndDate + ".csv"; 

     StorageFile file = await folder.CreateFileAsync("Rpt" + strFilename, CreationCollisionOption.ReplaceExisting); 

     foreach (var m in FlightData) 
     { 
      sb.Append(m.Id + "," + m.Date + "," + m.Price + "," + ...... + "\r\n"); 
     } 

     await FileIO.AppendLinesAsync(file, new List<string>() { sb.ToString() }); 
    } 
} 

上記の原因のエラー:

"The filename, directory name, or volume label syntax is incorrect.\r\n"

私はこれを使用している場合は、問題はありません。

あなたはファイル名に日付を使用しているので、あなたが最も可能性が高い、例えば、 /を使用している
StorageFile file = await folder.CreateFileAsync("sample.csv", CreationCollisionOption.ReplaceExisting); 

答えて

1

2015/01/01。これは無効なファイル名文字です。/-に置き換えるか、完全に削除するとコードが機能します。

私はsmall repro projectをGitHubに置き、エラーを表示して修正を行っています。

+0

あなたは正しいです。私はファイル名に不正な文字を使用しました。これが他の人にも役立つことを願っています。 10Q – MilkBottle