如何使用FolderPicker保存CSV文件

时间:2016-09-25 05:49:24

标签: c# uwp uwp-xaml

我有这个问题来保存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() });
    }
}

以上原因错误:

  

&#34;文件名,目录名或卷标语法是   。不正确\ r \ n&#34;

如果我使用它,没有问题。

StorageFile file = await folder.CreateFileAsync("sample.csv", CreationCollisionOption.ReplaceExisting);

1 个答案:

答案 0 :(得分:1)

由于您在文件名中使用了日期,因此您最有可能使用/,例如2015/01/01。这是一个无效的文件名字符,用/替换-或将其完全删除,您的代码就可以使用。

我在GitHub上放置了一个small repro project来向您显示错误并修复其中的操作。