asp.net调用Excel打印的问题,还没人解决

来源:互联网 发布:中科英泰编程键盘 编辑:程序博客网 时间:2024/04/29 05:03

private void Button1_Click(object sender, System.EventArgs e)
{
  //写入Excel的方法:
  //定义需要参数。
  string SourceFile="Data.XLS";                                //源文件名称。
  string TemplatePath=Server.MapPath("ExcelTemplate");    //存放源文件的文件夹路径。
  string DownloadPath=Server.MapPath("ExcelDownload");    //副本的文件夹路径。
  //副本的文件名。
  string TempFileName = DateTime.Now.ToString("yyyyMMdd") + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + ".XLS"; 
  object missing = System.Reflection.Missing.Value;
  Excel.Application myExcel=new Excel.Application();
  //打开新文件
  myExcel.Application.Workbooks.Open(TemplatePath+"//"+SourceFile,missing,missing,missing,missing,
  missing,missing,missing,missing,missing,missing, missing,missing);
  Excel.Workbook myBook=myExcel.Workbooks[1];
  Excel.Worksheet curSheet = (Excel.Worksheet)myBook.Sheets[2];
     
  string DownloadFilePath=DownloadPath+"//"+TempFileName;
    
  int i=0;
  while (i<=10)
  {
    myExcel.Cells[4+i,2]=i.ToString();
    myExcel.Cells[4+i,3]=i.ToString();
    myExcel.Cells[4+i,4]=i.ToString();
    myExcel.Cells[4+i,5]=i.ToString();
    myExcel.Cells[4+i,6]=i.ToString();
    i++;
  }  
     
  myBook.Saved=true;
       //myBook.SaveAs(DownloadFilePath,missing,"","",false,false,Excel.XlSaveAsAccessMode.xlNoChange,1,false,missing,missing);
  
  myBook.PrintPreview(0);
  //myBook.PrintOut(missing,missing,missing,missing,missing,missing,missing,missing);
  myBook.Close(false, null,null);
  myExcel.Quit();
  System.Runtime.InteropServices.Marshal.ReleaseComObject(myBook);
  System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
  myBook = null;
  myExcel = null;
  GC.Collect();
  //Response.Redirect("ExcelDownload//"+TempFileName); //下载文件
}

 

原创粉丝点击