思路话语

。Arlen:思想有多远你就能走多远...

对 Aspose从DataGrid导出 的封装

 

/// <summary>
  
/// 从DataGrid导出
  
/// </summary>
  
/// <param name="dg">源数据网格</param>
  
/// <param name="m">最大行</param>
  
/// <param name="n">最大列</param>
  
/// <param name="header">输出到Excel中的表头[需隐藏的列的列头也需设置,以占位]。</param>
  
/// <param name="hideColumnIndex">需隐藏的列的索引[从0开始]</param>

  public void ExportExcelByDataGrid(System.Web.UI.WebControls.DataGrid dg,int m, int n ,string[] header,params byte[] hideColumnIndex)
  

   
//替换&nbsp;
   for(int i = 0;i < dg.Items.Count;i++)
   
{
    
for(int j = 0;j < dg.Columns.Count;j++)
    
{
     
if(dg.Items[i].Cells[j].Text == "&nbsp;")
     
{
      dg.Items[i].Cells[j].Text 
= "";
     }

    }

   }


   Excel excel 
= new Excel();
   
//Excel.SetLicense(SystemConfig.GetCfgStr("AposeExcelLicense"),(System.Web.UI.Page)System.Web.HttpContext.Current.Handler);
   Worksheet sheet = excel.Worksheets[0];
   sheet.Cells.ImportDataGrid(dg, 
00, m, n, true);
   
foreach(byte index in hideColumnIndex)
   
{
    sheet.Cells.HideColumn(index);
   }

   
   
//将表头加入
   sheet.Cells.InsertRow(0);   
   
for(byte i = 0;i < header.Length;i++)
   
{    
    sheet.Cells[
0,i].PutValue(header[i]);
   }

      
   sheet.Name 
= "Sheet1";
   excel.Save(
"export.xls", SaveType.OpenInBrowser, FileFormatType.Default,HttpContext.Current.Response); 
  }

posted on 2007-05-08 16:40  Arlen  阅读(370)  评论(0编辑  收藏  举报

导航