.xls
以下は、ファイルにエクスポートするために ASP MVC 3 コントローラーで使用している 2 つのテーブルの linq クエリです。ただし、クエリを実行しているテーブルには、セカンダリ テーブルと 1 対多の関係があります。FixedStats
コードをステップ実行すると、linq クエリが正常に実行され、 フィールドとフィールドに正しい量の情報が含まれていることがわかりVariableStats
ます。ただし、ファイルをスプレッドシートにエクスポートすると、これら 2 つの列はどこにも見つかりません。
public void ExportToCsv()
{
var grid = new System.Web.UI.WebControls.GridView();
//join a in db.BankListAgentId on b.ID equals a.BankID
var banks = from b in db.BankListMaster
where b.Status.Equals("A")
select new
{
BankName = b.BankName,
EPURL = b.EPURL.Trim(),
AssociatedTPMBD = b.AssociatedTPMBD,
Tier = b.Tier,
FixedStats = from a in db.BankListAgentId
where a.BankID == b.ID &&
a.FixedOrVariable.Equals("F")
select new { a.AgentId },
VariableStats = from a in db.BankListAgentId
where a.BankID == b.ID &&
a.FixedOrVariable.Equals("V")
select new { a.AgentId },
Attachment = b.Attachment,
Status = b.Status
};
grid.DataSource = banks.ToList();
grid.DataBind();
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=BankList.xls");
Response.ContentType = "application/excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
grid.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}