如何通过按钮单击将数据导出到 linq c# 中的 .csv 文件

Posted

技术标签:

【中文标题】如何通过按钮单击将数据导出到 linq c# 中的 .csv 文件【英文标题】:How to export Data into .csv file in linq c# via button click 【发布时间】:2020-05-12 19:26:20 【问题描述】:

我正在以一种简单的方式将表格(分数)的数据从数据库导出到 .csv 文件中。 我想通过单击按钮来做到这一点。我使用 WPF 并在 SQLite 中保存数据表 注意:表格不显示在DataGridView中 分数表有列:PersonId、PersonName、ScoreDate

 private void ExportToCSV(object sender, RoutedEventArgs e)
    

        using (StreamWriter sw = File.AppendText(@"C:\Users\MAFA\Desktop\newfolder\endscores.csv"))
        
            // how can i here call the table from the database ?! 

        ;

    

【问题讨论】:

【参考方案1】:

我不确定你的 SQLite Note 数据结构是否是一个列表,但通常这样的东西对我有用:

using (StreamWriter sw = File.AppendText(@"C:\Users\MAFA\Desktop\newfolder\endscores.csv"))

    yourSQLiteNoteDataStruct
        .Select(i => $"i.PersonId;i.PersonName;i.ScoreDate;")
        .ToList()
        .ForEach(s => sw.WriteLine(s));

这当然会锁定您的 UI 并使其在写入文件时暂时无响应。因此,您可以将事件处理程序 async 和流编写器部分包装在任务中:

await Task.Run(() =>

    ...
);

【讨论】:

谢谢,其实这是一个列表,但我不明白你的回答。你能解释更多吗?还是您有其他答案解决方案? 你到底有什么不明白的?你已经尝试过第一部分了吗?它会保存包含您需要的内容的 CSV 文件吗?那么你的用户界面会发生什么?

以上是关于如何通过按钮单击将数据导出到 linq c# 中的 .csv 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中使用 Linq to JSON 在单击按钮时检索下一个和上一个 id

如何使用 c# 将 JQgrid 数据导出到 Excel?

Pentaho CDE Dashbord:如何通过单击按钮将多个表格导出到一张表中

如何通过单击功能区按钮将文本设置到自定义任务窗格中的文本框?

在 C# 中使用 Linq 单击按钮时,Json 不会转到下一个或上一个文本

从 c# windows 应用程序中的按钮单击将值返回到网格