导出为CSV格式 - Linq查询 [英] Export to csv - Linq query
本文介绍了导出为CSV格式 - Linq查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在LINQ一类查询数据库表是这样,问题是:
我如何导出数据为CSV?我曾尝试链接建议和我使用linq2csv并且仍然想知道如何通过自己的才能得到列?谢谢!
VAR USR =从db.User
USR选择新的{usr.UserName,usr.Dept,USR。名称)
MainListView.DataSource = USR;
MainListView.DataBind();
CsvFileDescription outputFileDescription =新CsvFileDescription
{
SeparatorChar =',',
FirstLineHasColumnNames = TRUE,
FileCultureName =EN-US
};
CsvContext CC =新CsvContext();
串finalPath = mypath中+usr_+ DateTime.Now.ToString(yyyyMMddhhmmssfff)+的.csv;
cc.Write(USR,finalPath,outputFileDescription);
解决方案
为了控制排序顺序,你必须定义类如
公共类用户
{
[CsvColumn(字段索引= 1)] $ b属性$ b公共字符串用户名{获得;组; }
[CsvColumn(字段索引= 2)]
公共字符串系{搞定;组; }
[CsvColumn(字段索引= 3)
公共字符串名称{;组; }
}
然后你改变你的LINQ查询使用这个类,如:
字符串mypath中= @;
VAR USR =(从u在db.User选择新用户
{
=用户名u.UserName,
部= u.Dept,
名称= u.Name
}
);
CsvFileDescription outputFileDescription =新CsvFileDescription
{
SeparatorChar =',',
FirstLineHasColumnNames = TRUE,
FileCultureName =EN-US
};
CsvContext CC =新CsvContext();
串finalPath = mypath中+usr_+ DateTime.Now.ToString(yyyyMMddhhmmssfff)+的.csv;
cc.Write(USR,finalPath,outputFileDescription);
I have a class in linq that query db table like this, and the question is: How do I export that data to csv? I have tried link suggested and I am using linq2csv and still want to know how to get column by their order? thanks!
var usr = from usr in db.User
select new { usr.UserName, usr.Dept, usr.Name)
MainListView.DataSource = usr;
MainListView.DataBind();
CsvFileDescription outputFileDescription = new CsvFileDescription
{
SeparatorChar = ',',
FirstLineHasColumnNames = true,
FileCultureName = "en-US"
};
CsvContext cc = new CsvContext();
string finalPath = mypath + "usr_" + DateTime.Now.ToString ( "yyyyMMddhhmmssfff" ) + ".csv";
cc.Write( usr, finalPath, outputFileDescription );
解决方案
In order to control the sort order you must define a class with attributes like
public class User
{
[CsvColumn(FieldIndex = 1)]
public string UserName { get; set; }
[CsvColumn(FieldIndex = 2)]
public string Dept { get; set; }
[CsvColumn(FieldIndex = 3)]
public string Name { get; set; }
}
Then you change your linq query to use this class, eg
string mypath = @".\";
var usr = (from u in db.User select new User
{
UserName = u.UserName,
Dept = u.Dept ,
Name = u.Name
}
);
CsvFileDescription outputFileDescription = new CsvFileDescription
{
SeparatorChar = ',',
FirstLineHasColumnNames = true,
FileCultureName = "en-US"
};
CsvContext cc = new CsvContext();
string finalPath = mypath + "usr_" + DateTime.Now.ToString("yyyyMMddhhmmssfff" ) + ".csv";
cc.Write( usr, finalPath, outputFileDescription );
这篇关于导出为CSV格式 - Linq查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文