将结果集导出到 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));
【讨论】:
如果映射的行类型是Customer
,Join
不会使用 ToString
的 Customer
对象 - 类似于 MyApp.Customer
的东西吗?在这种情况下,生成的字符串将类似于 MyApp.Customer,MyApp.Customer,MyApp.Customer
。以上是关于将结果集导出到 linq 到 sql 的 excel的主要内容,如果未能解决你的问题,请参考以下文章
如何将 SQL 结果生成到 Excel 工作表 (Oracle)
如何将相同的 var 类型变量分配给不同的 linq to sql 结果集?