C# | DataGridView数据转存为Json、XML格式

在这里插入图片描述

C# | DataGridView数据转存为Json、XML格式

前言

DataGridView是常用的数据展示组件,而将其转存为Json或XML格式,则可以方便地进行数据的传输和存储。
Json格式具有轻量、易读、易解析等优点,广泛应用于Web开发、API接口传输等场景。
XML格式则具有良好的结构化特性,支持命名空间、数据类型等复杂数据表示方式,被广泛应用于数据交换、配置文件等领域。
因此,将DataGridView数据转存为Json、XML格式,不仅能够方便地进行数据的传输和存储,还能够满足不同场景下的数据需求。

本篇文章将介绍如何将DataGridView数据转存为Json、XML格式,并提供相应的代码示例。


DataGridView数据转为JSON数组

要将 DataGridView 中的数据转为 JSON 数组,首先需要遍历 DataGridView 的每一行和每个单元格,将数据以 Dictionary<string, object> 的形式保存到 List<Dictionary<string, object>> 中。
然后,使用 Newtonsoft.Json 库的 JsonConvert.SerializeObject 方法将数据转为 JSON 格式的字符串。

// 获取 DataGridView 的数据
List<Dictionary<string, object>> data = new List<Dictionary<string, object>>();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
    Dictionary<string, object> rowData = new Dictionary<string, object>();
    foreach (DataGridViewCell cell in row.Cells)
    {
        rowData[cell.OwningColumn.HeaderText] = cell.Value;
    }
    data.Add(rowData);
}

// 将数据转为 JSON 数组
string json = JsonConvert.SerializeObject(data);

在这段代码中,我们使用 DataGridView 中每一列的唯一的 HeaderText 作为字典中的键。如果 HeaderText 不唯一,可以使用其他标识符来作为键。


DataGridView数据转为XML格式

首先,我们可以使用C#中的XmlSerializer类来将DataGridView中的数据转为XML格式的字符串。

第一步,创建一个XmlSerializer对象,并指定要序列化的数据类型。

XmlSerializer serializer = new XmlSerializer(typeof(DataGridViewRow));

第二步,遍历DataGridView的每一行,将每一行数据序列化为XML格式的字符串,并将它们拼接起来。

StringBuilder sb = new StringBuilder();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
    StringWriter writer = new StringWriter();
    serializer.Serialize(writer, row);
    sb.AppendLine(writer.ToString());
}

第三步,将拼接好的字符串作为最终的XML格式的字符串输出。

string xmlString = sb.ToString();
Console.WriteLine(xmlString);

这样,就可以将DataGridView中的数据转为XML格式的字符串了。

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿长大人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值