网页中的数据导出问题(word文档等格式)

  方法一:
 
HttpContext.Current.Response.AppendHeader("Content-Disposition""attachment;filename=" + filename);
HttpContext.Current.Response.Charset 
= "UTF-8";
HttpContext.Current.Response.ContentEncoding 
= System.Text.Encoding.Default;
  HttpContext.Current.Response.ContentType 
= filetype;
 
//HttpContext.Current.Response.ContentType = "application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
HttpContext.Current.Response.Buffer = true
System.IO.StringWriter tw 
= new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw 
= new System.Web.UI.HtmlTextWriter(tw);
gv.RenderControl(hw);

HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();

  方法二:
 

private   void   ExportWord_Click(object   sender,   System.EventArgs   e)  
  
{  
  
try  
  
{  
  
string   savepath   =   "";  
  FolderBrowserDialog   folderBrowserDialog1   
=   new   FolderBrowserDialog();  
  
if   (folderBrowserDialog1.ShowDialog()   ==   DialogResult.OK)    
  
{  
  savepath   
=   folderBrowserDialog1.SelectedPath;  
  }
  
   
  Object   Nothing
=System.Reflection.Missing.Value;  
  
object   filename   =   savepath   +   "/"   +   StoreNum.Text   +   "库存报表";  
  Word.Application   WordApp
=new   Word.ApplicationClass();  
  Word.Document   WordDoc
=WordApp.Documents.Add(ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing);  
   
  WordDoc.Paragraphs.First.Range.Text   
=   "库存报表       [共有:"   +   storedt.Rows.Count.ToString()   +   "本书]";  
  WordDoc.Paragraphs.First.Alignment   
=   Word.WdParagraphAlignment.wdAlignParagraphCenter;  
   
  Word.Table   table
=WordDoc.Tables.Add(WordApp.Selection.Range,storedt.Rows.Count+1,6,ref   Nothing,ref   Nothing);  
  table.Cell(
1,1).Range.Text="ISBN号";  
  table.Cell(
1,2).Range.Text="书名";  
  table.Cell(
1,3).Range.Text="总库存";  
  table.Cell(
1,4).Range.Text="借书库存";  
  table.Cell(
1,5).Range.Text="可借数量";  
  table.Cell(
1,6).Range.Text="已借数量";  
   
  
for   (   int   i=0;i<storedt.Rows.Count;i++   )  
  
{  
  table.Cell(i
+2,1).Range.Text   =   storedt.Rows[i]["Book_ISBN"].ToString();  
  table.Cell(i
+2,2).Range.Text   =   storedt.Rows[i]["Book_Name"].ToString();  
  table.Cell(i
+2,3).Range.Text   =   storedt.Rows[i]["Store_Num"].ToString();  
  table.Cell(i
+2,4).Range.Text   =   storedt.Rows[i]["CanBorrow_Num"].ToString();  
  table.Cell(i
+2,5).Range.Text   =   storedt.Rows[i]["InShop_Num"].ToString();  
  table.Cell(i
+2,6).Range.Text   =   storedt.Rows[i]["OutShop_Num"].ToString();  
  }
  
   
  WordDoc.SaveAs(
ref   filename,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing);  
  WordDoc.Close(
ref   Nothing,   ref   Nothing,   ref   Nothing);  
  WordApp.Quit(
ref   Nothing,   ref   Nothing,   ref   Nothing);  
  parent.statusBar1.Panels[
0].Text   =   "操作提示:库存报表导出成功";  
  }
  
  
catch  
  
{  
  parent.statusBar1.Panels[
0].Text   =   "操作提示:库存报表导出失败";  
  }
  
  }
  
   
  注意要引用Interop.Word.dll,并且在机器上安装Word2002,否则导出将失败
posted @ 2008-07-09 15:33  john scotts  阅读(716)  评论(0编辑  收藏  举报