C#以CSV格式导出数据

本文实例讲述了C#导出数据到csv文件的通用类。

分享给大家供大家参考,具体如下:

using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lunz.Services.VFSCenter
{
    public class CSVHelper
    {
        public void DataToCsv(System.Data.DataTable dt, string strName)
        {
            string strPath = strName;
            if (File.Exists(strPath))
            {
                File.Delete(strPath);
            }
            
            StringBuilder strColu = new StringBuilder();
            StringBuilder strValue = new StringBuilder();
            int i = 0;
            try
            {
                StreamWriter sw = new StreamWriter(new FileStream(strPath, FileMode.CreateNew), Encoding.GetEncoding("GB2312"));
                //先打印表头
                for (i = 0; i <= dt.Columns.Count - 1; i++)
                {
                    strColu.Append(dt.Columns[i].ColumnName);
                    strColu.Append(",");
                }
                strColu.Remove(strColu.Length - 1, 1);//移除掉最后一个,字符
                sw.WriteLine(strColu);
                //再逐行打印行数据
                foreach (DataRow dr in dt.Rows)
                {
                    strValue.Remove(0, strValue.Length);//清空遗留数据
                    for (i = 0; i <= dt.Columns.Count - 1; i++)
                    {
                        strValue.Append(dr[i].ToString().Replace(",", ";"));
                        strValue.Append(",");
                    }
                    strValue.Remove(strValue.Length - 1, 1);//移除掉最后一个,字符
                    sw.WriteLine(strValue);
                }
                sw.Close();
            }
            catch (Exception ex)
            {
                throw new Exception($"实体导出到Csv出错:{ex.Message}");
            }
        }
    }

}

 

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# WinForms是一种用于创建Windows桌面应用程序的开发框架,而CSV(逗号分隔值)是一种常见的文件格式,用于存储表格数据。在C# WinForms中进行CSV导出可以通过以下步骤实现: 1. 首先,你需要创建一个WinForms应用程序,并添加一个按钮或其他触发导出操作的控件。 2. 在按钮的点击事件处理程序中,你可以使用C#的文件操作类(如StreamWriter)来创建一个CSV文件,并将数据写入其中。你可以使用适当的分隔符(如逗号)将每个字段分隔开。 3. 在写入CSV文件之前,你需要准备好要导出数据。这可以是来自数据库、集合或其他数据源的数据。你可以使用C#数据访问技术(如ADO.NET)来检索和处理数据。 4. 将数据写入CSV文件时,你可以使用循环遍历数据集合,并将每个字段的值写入文件中。确保在每行结束时添加换行符。 5. 最后,保存并关闭CSV文件。 下面是一个简单的示例代码,演示了如何在C# WinForms中进行CSV导出: ```csharp private void btnExport_Click(object sender, EventArgs e) { // 准备要导出数据(示例数据) List<string[]> data = new List<string[]> { new string[] { "Name", "Age", "Email" }, new string[] { "John Doe", "30", "john@example.com" }, new string[] { "Jane Smith", "25", "jane@example.com" }, new string[] { "Bob Johnson", "35", "bob@example.com" } }; // 创建并打开CSV文件 using (StreamWriter sw = new StreamWriter("export.csv")) { // 写入数据CSV文件 foreach (string[] row in data) { sw.WriteLine(string.Join(",", row)); } } MessageBox.Show("CSV导出成功!"); } ``` 请注意,上述示例仅演示了基本的CSV导出过程。在实际应用中,你可能需要根据具体需求进行更复杂的数据处理和格式化操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值