将结果集导出到 linq 到 sql 的 excel

Posted

技术标签:

【中文标题】将结果集导出到 linq 到 sql 的 excel【英文标题】:Export Resultset to excel from linq to sql 【发布时间】:2013-06-29 11:36:36 【问题描述】:

我需要帮助才能使用 linq 将数据导出到 Excel。我从 linq 获得了数据,但不知道如何导出数据。我的代码如下

 using (DataClassesDataContext dc = new DataClassesDataContext())
    
        foreach (var mt in dc.Mapping.GetTables())
        
            string sql = String.Format("Select * from 0 where ID = 1 ", mt.TableName, TenantID);
             var data = dc.ExecuteQuery(mt.RowType.Type, sql);
            //data is here now.
            string path = "D:\\CSvFiles\\";
            if (!System.IO.Directory.Exists(path))
                System.IO.Directory.CreateDirectory(path);

            path = path + mt.TableName + ".csv";
            foreach (var item in data)
            
                System.IO.File.WriteAllText(path, item.ToString());

            
        
    

【问题讨论】:

【参考方案1】:

试试这个:

using (DataClassesDataContext dc = new DataClassesDataContext())
    
        foreach (var mt in dc.Mapping.GetTables())
        
            string sql = String.Format("Select columnName from 0 where ID = 1 ", mt.TableName, TenantID);
             var data = dc.ExecuteQuery(mt.RowType.Type, sql).ToArray();
            //data is here now.
            string path = "D:\\CSvFiles\\";
            if (!System.IO.Directory.Exists(path))
                System.IO.Directory.CreateDirectory(path);

            path += mt.TableName + ".csv";
            System.IO.File.WriteAllText(path, String.Join(",",data));
        
    

【讨论】:

如果映射的行类型是 CustomerJoin 不会使用 ToStringCustomer 对象 - 类似于 MyApp.Customer 的东西吗?在这种情况下,生成的字符串将类似于 MyApp.Customer,MyApp.Customer,MyApp.Customer

以上是关于将结果集导出到 linq 到 sql 的 excel的主要内容,如果未能解决你的问题,请参考以下文章

如何将 SQL 结果生成到 Excel 工作表 (Oracle)

如何将相同的 var 类型变量分配给不同的 linq to sql 结果集?

将 Dbeaver 上的结果集导出到 CSV

Python 2.7_初试连接Mysql查询数据导出到exce_20161216

数据从 SQL Developer 导出到 CSV

使用对话框将结果集导出到 java 中的文本文件