• DATATABLE 快速导出EXCEL方法


    void Main()
    {
        DataTable dataTable =new DataTable();
        
        for(int i=0;i<10;i++)
        {
            dataTable.Columns.Add("col"+i);
        }
        for(int i=0;i<1000000;i++)
        {
            var dr=dataTable.NewRow();
            foreach(DataColumn col in dataTable.Columns)
            {
                dr[col]=col.ColumnName+i;
            }
            dataTable.Rows.Add(dr);
        }
        string fileName="excel.csv";
        Stopwatch watch=new Stopwatch();
        watch.Start();
        ExportToExcel(dataTable,fileName);
        watch.Stop();
        ("导出完毕,用时:"+watch.Elapsed).Dump();
    }
    public static void ExportToExcel(DataTable dataTable,string fileName,bool isOpen=false)
    {
        var lines = new List<string>();
        string[] columnNames = dataTable.Columns
                                        .Cast<DataColumn>()
                                        .Select(column => column.ColumnName)
                                        .ToArray();
        var header = string.Join(",", columnNames);
        lines.Add(header);
        var valueLines = dataTable.AsEnumerable()
                        .Select(row => string.Join(",", row.ItemArray));            
        lines.AddRange(valueLines);
        File.WriteAllLines(fileName,lines,Encoding.UTF8);
        if(isOpen)
            Process.Start(fileName);
    }
    ---------------------
    原文:https://blog.csdn.net/u012097590/article/details/78213452
     

  • 相关阅读:
    Spring解决循环依赖的三种方式
    MySQL深度分页
    MySQL大数据量分页查询方法及其优化
    java进程 cpu100%问题排查
    Java线程池如何合理配置核心线程数
    Btree和B+tree的区别
    Python3 for Linux 安装
    redis sentinel 相关参数及命令
    postman 连接mysql
    oracle-数据库的各种-锁-详解
  • 原文地址:https://www.cnblogs.com/hanje/p/10647823.html
Copyright © 2020-2023  润新知