FAA*_*FAA 5 c# linq linq-to-entities
我在linq中有一个查询db表的类,问题是:如何将该数据导出到csv?我已经尝试了链接建议,我正在使用linq2csv,仍然想知道如何通过他们的订单获取列?谢谢!
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 );
Run Code Online (Sandbox Code Playgroud)
为了控制排序顺序,您必须定义一个具有以下属性的类
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; }
}
Run Code Online (Sandbox Code Playgroud)
然后您更改 linq 查询以使用此类,例如
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 );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8487 次 |
| 最近记录: |