Как настроить формат при экспорте сетки данных в текстовый файл? - PullRequest
0 голосов
/ 15 марта 2019

Я хочу экспортировать свою сетку данных в текстовый файл с таким форматом:

//inside txt file, each item on one row
item1[id],item1[name]
item2[id],item2[name]

Примерно так: каждый элемент в одной строке разделяется запятой.В настоящее время мой код выглядит следующим образом:

        var directory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
        var file = Path.Combine(directory, "123.txt");
        StringBuilder strBuilder = new StringBuilder();

        for (int i = 0; i < datagrid.Items.Count; i++)
        {
         ////////My Setting class
            Setting setting= (Setting)datagrid.Items[i];
         //////// I need help for the below lines with formatting
            strBuilder.Append(setting.id);
            strBuilder.Append(setting.name);


        }
        File.WriteAllText(file, strBuilder.ToString());

Также мой второй вопрос: выходной каталог файла 123.txt находится в папке bin / debug, могу ли я изменить его на текущий рабочий каталог / рабочее пространствопроект?

1 Ответ

0 голосов
/ 15 марта 2019

используйте эту ссылку для получения подробной информации. Образец export-data-from-a-datagrid или этот export-datagrid-to-csv-без-gui-in-wpf

или, если вы хотите просто экспортировать, используйте этот код:

private void button_Click(object sender, RoutedEventArgs e)
{       
    dataGrid1.SelectAllCells();
    dataGrid1.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader;
    ApplicationCommands.Copy.Execute(null, dataGrid1);
    dataGrid1.UnselectAllCells();
    String result = (string)Clipboard.GetData(DataFormats.CommaSeparatedValue);
    File.AppendAllText("D:\\test.csv", result, UnicodeEncoding.UTF8);

}

для указания пути используйте ".. \" как перемещаться по нескольким папкам вверх

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...