在Export to excel中得不到。在c#中以适当的格式

时间:2016-02-25 08:08:17

标签: c# asp.net excel

我正在尝试在Excel中导出网格视图,我得到格式问题,例如数字不合适(例如-1.523E + 11) 还缺少0,其中值以0为前导。

                Response.ClearContent();
                Response.ClearHeaders();
                DataTable dtGetReportBank = new DataTable();
                dtGetReportBank = objPO.GetReportBank(id);
                gridData.DataSource = dtGetReportBank;
                gridData.DataBind();

                Response.ClearContent();
                Response.Buffer = true;
                Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "BankCMS" + ".xls"));
                Response.ContentType = "application/ms-excel";
                StringWriter sw1 = new StringWriter();
                HtmlTextWriter htw1 = new HtmlTextWriter(sw1);
                gridData.AllowPaging = false;
                dvContent.RenderControl(htw1);
                Response.Write(sw1.ToString());
                Response.End();
                Btn.Visible = false;

1 个答案:

答案 0 :(得分:0)

Amol,

处理此问题的最佳方法是使用OpenXML。

创建SpreadsheetDocument - > WorkbookPart - > WorksheetPart - >细胞

在创建Cell时,指定Cell.DataType,您将得到您期望的任何内容。

填写完文档后,使用SpreadsheetDocument.Save()方法保存相同的文件

希望这有帮助!