导出Excel删除asp.net C#中的空列 [英] Export Excel Remove empty Column in asp.net c#

查看:149
本文介绍了导出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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆