c#中将数据库中的文件导出为csv、xml文件的demo

1. 导出为CSV文件

 /// <summary>
 /// 将mysql数据保存为csv文件
 /// </summary>
 /// <param name="connectionString">数据库连接字符串</param>
 /// <param name="query">sql语句</param>
 /// <param name="filePath">文件保存地址</param>
 /// 
 public static void ExportToCsv(string connectionString, string query, string filePath)
 {
     using (MySqlConnection conn = new MySqlConnection(connectionString))
     {
           using (MySqlCommand cmd = new MySqlCommand(query, conn))
           {
                 conn.Open();

                 using (MySqlDataReader reader = cmd.ExecuteReader())
                 {
                        using (StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8))
                        {
                            // 写入标题  
                            for (int i = 0; i < reader.FieldCount; i++)
                            {
                                writer.Write(reader.GetName(i));
                                if (i < reader.FieldCount - 1)
                                    writer.Write(",");
                            }
                            writer.WriteLine();

                            // 写入数据  
                            while (reader.Read())
                            {
                                for (int i = 0; i < reader.FieldCount; i++)
                                {
                                    if (!reader.IsDBNull(i))
                                        writer.Write(reader.GetValue(i).ToString().Replace(",", ";")); // 避免逗号冲突  
                                    else
                                        writer.Write("");

                                    if (i < reader.FieldCount - 1)
                                        writer.Write(",");
                                }
                                writer.WriteLine();
                            }
                        }
                    }
                }
            }
        }

2、导出为xml文件

    /// <summary>
    /// 将mysql中的数据导出为xml文件
    /// </summary>
    /// <param name="connectionString"> 连接字符串</param>
    /// <param name="query">sql语句</param>
    /// <param name="filePath">保存csv文件的路径</param>
    public static void ExportToXml(string connectionString, string query, string filePath)
    {
        DataSet dataSet = new DataSet();

        using (MySqlConnection conn = new MySqlConnection(connectionString))
        {
            using (MySqlDataAdapter adapter = new MySqlDataAdapter(query, conn))
            {
                conn.Open();
                adapter.Fill(dataSet);

                // 保存到文件  
                dataSet.WriteXml(filePath);
            }
        }
    }

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 23:06:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 23:06:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 23:06:01       58 阅读
  4. Python语言-面向对象

    2024-07-12 23:06:01       69 阅读

热门阅读

  1. ceph gps backfill_toofull

    2024-07-12 23:06:01       19 阅读
  2. [NeetCode 150] Products of Array Discluding Self

    2024-07-12 23:06:01       24 阅读
  3. NCNN源码学习(1):Mat详解

    2024-07-12 23:06:01       19 阅读
  4. Spring Boot对接大模型:实战价值与技巧

    2024-07-12 23:06:01       20 阅读
  5. 算法学习记录3

    2024-07-12 23:06:01       21 阅读
  6. linux的CUDA、torch和驱动GPU驱动的对应问题

    2024-07-12 23:06:01       19 阅读
  7. 递归函数遍历格式化字典

    2024-07-12 23:06:01       22 阅读
  8. 【LeetCode】2089. 找出数组排序后的目标下标

    2024-07-12 23:06:01       22 阅读