C# 将数据从数据库导出到 excel 中.没有任何DLL或开源dlll或任何类型的免费dll

本文关键字:任何 开源 DLL dlll 类型 dll 免费 数据库 数据 excel | 更新日期: 2023-09-27 18:34:58

请提供将数据导出到Excel的方法,而无需任何DLL或免费的开源DLL或任何类型的DLL。

帮我程序员,

C# 将数据从数据库导出到 excel 中.没有任何DLL或开源dlll或任何类型的免费dll

写成可以通过Excel直接打开的csv文件。

  DataTable dt = new DataTable();
        dt.Columns.Add("Agent");
        dt.Columns.Add("Product1");
        dt.Columns.Add("Product2");
        DataRow dr = dt.NewRow();
        dr[0] = "AA";
        dr[1] = 7;
        dr[2] = 5;
        dt.Rows.Add(dr);
        dr = dt.NewRow();
        dr[0] = "BB";
        dr[1] = 5;
        dr[2] = 6;
        dt.Rows.Add(dr);
        dr = dt.NewRow();
        dr[0] = "BB";
        dr[1] = 2;
        dr[2] = 3;
        dt.Rows.Add(dr);
        StringBuilder sb = new StringBuilder();
        string[] columnNames = dt.Columns.Cast<DataColumn>().
                                          Select(column => column.ColumnName).
                                          ToArray();
        sb.AppendLine(string.Join(",", columnNames));
        foreach (DataRow row in dt.Rows)
        {
            string[] fields = row.ItemArray.Select(field => field.ToString()).
                                            ToArray();
            sb.AppendLine(string.Join(",", fields));
        }
        File.WriteAllText(@"C:'Users'Desktop'test.csv", sb.ToString());

上面的代码可用于将数据导出为csv,可以直接通过Excel打开。

将数据导出到 Excel 能够打开的 csv 文件。下面显示了一个非常基本的示例。

如果您追求的是非自由库,那么您可以查看 http://www.gemboxsoftware.com/spreadsheet/overview - 看起来他们提供了其导出器的非自由版本。


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class Program
{
    class MyClass
    {
        public MyClass(string a, string b)
        {
            A = a;
            B = b;
        }
        public string A { get; private set; }
        public string B { get; private set; }
    }
    public static void Main()
    {
        var myData = new List();
        myData.Add(new MyClass("A1", "B1"));
        myData.Add(new MyClass("A2", "B2"));
        using (var writer = new System.IO.StreamWriter("myFile.txt"))
        {
            foreach (var row in myData)
            {
                string text = string.Format("{0},{1}", row.A, row.B);
                writer.WriteLine(text);
            }
        }
    }
 }