导出Excel删除asp.net C#中的空列 [英] Export Excel Remove empty Column in asp.net c#
本文介绍了导出Excel删除asp.net C#中的空列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
亲爱的所有人,
当我将gridview数据导出到excel时,我得到许多空列.请帮助我删除导出的Excel文件中不必要的列.请看下面的代码
Dear All ,
I am getting many empty column when I export the gridview data to excel. Please help me to remove unnecessary column in exported excel file. Please have a look below code
grdview.AllowPaging = false;
grdview.PageIndex = 0;
grdview.Columns[6].Visible = false;
Bind();
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=StatusOfAgreement.xls");
Response.ContentType = "application/excel";
StringWriter sw = new StringWriter();
HtmlForm fm = new HtmlForm();
HtmlTextWriter htw = new HtmlTextWriter(sw);
Controls.Add(fm);
fm.Controls.Add(Panel2);
fm.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
grdview.AllowPaging = true;
grdview.Columns[6].Visible = true;
推荐答案
检查以下代码
Check below code
private void ExportGridToExcel()
{
Response.Clear();
Response.Buffer = true;
Response.ClearContent();
Response.ClearHeaders();
Response.Charset = "";
string FileName ="test.xls";
StringWriter strwritter = new StringWriter();
HtmlTextWriter htmltextwrtter = new HtmlTextWriter(strwritter);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType ="application/vnd.ms-excel";
Response.AddHeader("Content-Disposition","attachment;filename=StatusOfAgreement.xls");
GridView1.GridLines = GridLines.Both;
GridView1.HeaderStyle.Font.Bold = true;
GridView1.RenderControl(htmltextwrtter);
Response.Write(strwritter.ToString());
Response.End();
}
我建议使用EPPLUS,因为它是免费的,而且您对浏览器的兼容性没有问题...
i suggest using EPPLUS because it is free and you have no problem for browser compatibility...
var dt = GetDataTable(); //the one that you use in the Bind() method
var dataTable = dt.Select(/*..the columns you need..*//);
using (ExcelPackage pck = new ExcelPackage(newFile))
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Accounts");
ws.Cells["A1"].LoadFromDataTable(dataTable, true);
pck.Save();
}
您可以使用nuget下载它.
https://www.nuget.org/packages/EPPlus/
https://epplus.codeplex.com/wikipage?title=FAQ
you can download it with nuget.
https://www.nuget.org/packages/EPPlus/
https://epplus.codeplex.com/wikipage?title=FAQ
这篇关于导出Excel删除asp.net C#中的空列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文