C# 将DataGridView中的数据导出为.CSV文件

本文展示了如何使用C#将DataGridView中的数据导出为CSV文件。虽然CSV适合数据交换,但不便于复杂的数据计算,对于计算需求建议导出为Excel格式。
摘要由CSDN通过智能技术生成

话不多说,直接上代码了

public void DataGridViewToExcel(DataGridView dgv)
{
    SaveFileDialog dlg = new SaveFileDialog();
    dlg.Filter = "Execl files (*.csv)|*.csv";
    dlg.FilterIndex = 0;
    dlg.RestoreDirectory = true;
    dlg.CreatePrompt = true;
    dlg.Title = "保存为csv文件";
    if (dlg.ShowDialog() == DialogResult.OK)
     {
         Stream myStream;
         myStream = dlg.OpenFile();
         StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
         string columnTitle = "";
         try
         {
             //写入列标题    
             for (int i = 0; i < dgv.ColumnCount; i++)
             {
                if (i > 0)
                {
                    columnTitle += ",";
                }
                columnTitle += dgv.Columns[i].HeaderText;
             }

             sw.WriteLi
DataGridView 控件在 C# 是用于显示和编辑表格数据的常用组件。如果你想要将 DataGridView 控件的内容导出CSV 文件(逗号分隔值),你可以通过编程实现这一功能。以下是一个简单的例子,展示如何将 DataGridView 的内容导出CSV 文件: 1. 首先,你需要确定导出哪些数据。通常,这会包括 DataGridView 的所有行和列。 2. 创建一个文件保存对话框(SaveFileDialog),让用户指定 CSV 文件的保存位置和文件名。 3. 使用文件流(FileStream)或文件信息(FileInfo)以及StreamWriter来创建和写入 CSV 文件。 4. 遍历 DataGridView 的所有行和列,将每个单元格的数据转换为字符串,并将它们以逗号分隔的形式写入文件。 5. 注意处理单元格数据可能包含的特殊字符(如逗号、换行符等),并确保它们被正确地转义或引用。 6. 完成数据写入后,关闭文件流。 这里是一个简单的代码示例: ```csharp private void ExportDataGridViewToCSV() { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "CSV files (*.csv)|*.csv"; saveFileDialog.Title = "Export DataGridView to CSV"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { using (StreamWriter sw = new StreamWriter(saveFileDialog.FileName)) { // 写入列标题 foreach (DataGridViewColumn column in dataGridView1.Columns) { sw.Write(column.HeaderText + ","); } sw.WriteLine(); // 写入每行数据 foreach (DataGridViewRow row in dataGridView1.Rows) { foreach (DataGridViewCell cell in row.Cells) { // 需要对包含逗号、换行符的单元格进行特殊处理 string cellData = cell.Value == null ? "" : cell.Value.ToString(); cellData = cellData.Replace("\"", "\"\""); if (cellData.Contains(",") || cellData.Contains("\n") || cellData.Contains("\"")) { cellData = "\"" + cellData + "\""; } sw.Write(cellData + ","); } sw.WriteLine(); } } } } ``` 这段代码只是提供了一个基本的导出逻辑,实际使用时你可能需要根据实际情况调整,比如处理数据类型转换、缺失值、特殊字符转义等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值