熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

關於ASP.NET頁面打印技術的總結[3]

2013-11-13 11:00:36  來源: .NET編程 

  //頁面打印按鈕事件

以下是引用片段
 PrintClass myP = new PrintClass();
 ResponseWrite(myPDGPrint(Bind());

  在把DataGrid轉換為對應的HTML代碼時如果存在按鈕列就會報錯最好把這一列隱藏一般只能轉換數據列其次要注意分頁問題一般只能打印當前一頁最好在打印之前除掉分頁

  導出到ExcelWord中去打印

  &#; 可以在服務端或者客戶端進行

  &#; 優點使用這種方法可適應性比較強控制較好

  &#; 缺點在服務端使用的話要求服務端要安裝WordExcel在客戶端使用的話

  求客戶端在IE的安全設置上有一定要求

  【實例代碼】

以下是引用片段

protected void btnMIME_Click(object sender SystemEventArgs e)
{
     BindData();
 
     ResponseContentType = application/vndmsexcel;
     ResponseAddHeader(ContentDisposition inline;filename=+HttpUtilityUrlEncode(下載文件xlsEncodingUTF));       
 
     //如果輸出為Word修改為以下代碼
     //ResponseContentType = application/msword
     //ResponseAddHeader(ContentDisposition inline;filename=testdoc)
     StringBuilder sb=new StringBuilder();
     SystemIOStringWriter sw = new SystemIOStringWriter(sb);
     SystemWebUIHtmlTextWriter hw = new SystemWebUIHtmlTextWriter(sw);
     sbAppend(<html><body>);
     dgShowRenderControl(hw);
     sbAppend(</body></html>);
     ResponseWrite(sbToString());
     ResponseEnd();
}
 
protected void btnCom_Click(object sender SystemEventArgs e)
{
     ExportToExcel(BindData()ServerMapPath(ComExcelxls));
 
}
//從DataSet到出到Excel
#region從DataSet到出到Excel
///導出指定的Excel文件
public void ExportToExcel(DataSet dsstring strExcelFileName)
{
     if (dsTablesCount== || strExcelFileName==) return;
     doExport(dsstrExcelFileName);
}
///執行導出
private void doExport(DataSet dsstring strExcelFileName)
{
     excelApplication excel= new excelApplication();
     int rowIndex=;
     int colIndex=;
     excelApplicationWorkbooksAdd(true);
     SystemDataDataTable table=dsTables[] ;
     foreach(DataColumn col in tableColumns)
     {
         colIndex++;   
         excelCells[colIndex]=colColumnName;               
     }
 
     foreach(DataRow row in tableRows)
     {
         rowIndex++;
         colIndex=;
         foreach(DataColumn col in tableColumns)
         {
              colIndex++;
              excelCells[rowIndexcolIndex]=row[colColumnName]ToString();
         }
     }
     excelVisible=false;   
     excelActiveWorkbookSaveAs(strExcelFileName+XLSExcelXlFileFormatxlExcelnullnullfalsefalseExcelXlSaveAsAccessModexlNoChangenullnullnullnullnull);
     excelQuit();
     excel=null;
     GCCollect();//垃圾回收
}
#endregion

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/14973.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.