导出到excel的类(一)

原创 2006年05月22日 19:45:00

using System;
using System.IO;
using System.Reflection;
using System.Data;
using System.Data.SqlClient;
using RFID.PublicClass.DataBase;


namespace RFID.PublicClass.ExcelReport
{
 /// <summary>
 /// ExcelReport 的摘要说明。
 /// </summary>
 public class ExcelReport
 {
  private  static Excel.ApplicationClass ExcelApp = null;
  private   static Excel.Workbooks   ExcelBooks=null;
  private  static Excel.Workbook    ExcelBook=null;
  private static Excel.Worksheet   ExcelSheet=null;
  public static string FilePath=null;
  public static string FormPath=null;
    
        //构造函数,完成excel属性的付值。
  public ExcelReport(string OpenPath,string SavePath)
  {  

   try
   
   {   FormPath=OpenPath;//模板位置
    FilePath=SavePath;//excel文件位置
    ExcelApp=new Excel.ApplicationClass();
    object missing=Missing.Value;
    ExcelBooks=ExcelApp.Workbooks;
    ExcelBook=(Excel.Workbook)ExcelApp.Workbooks.Open(FormPath,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing);
    ExcelSheet=(Excel.Worksheet)ExcelBook.ActiveSheet;
    ExcelApp.Visible=false;
    ExcelApp.DisplayAlerts=false; 
   }
   catch(Exception e)
   {
    CloseExcelForm();
       new Exception(e.Message);
   }
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
  public static void InsertExcel(DataSet dSet,int StartRow,int StartCol,string Table)
  { 
   try
   {         
          int RowCount=dSet.Tables[Table].Rows.Count;
    int ColCount=dSet.Tables[Table].Columns.Count;

    for(int i=StartRow;i<=(StartRow+RowCount-1);i++)
    {
     for(int j=StartCol;j<=(StartCol+ColCount-1);j++)
     {
      string values=dSet.Tables[Table].Rows[i-StartRow][j-StartCol].ToString();
      ExcelApp.Cells[i,j]=values;
     }
    } 
    dSet.Clear();
    ExcelSheet.SaveAs(FilePath,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);
    ExcelSheet.Activate();
    ExcelApp.Visible=true;   

   }
   catch
   {
    CloseExcelForm();
   }           


  }
          
  ~ExcelReport()
   {
            CloseExcelForm();
   }
  public static void  CloseExcelForm()
  {
    try
   {
    ExcelBooks = null;
    ExcelBook = null;
    ExcelSheet = null;
    if(ExcelApp!= null)
    {
     ExcelApp.Quit();
     ExcelApp = null;
    }
   }
   finally
   {
    GC.Collect();
    GC.WaitForPendingFinalizers();
   }
  }  
 }
}

相关文章推荐

数据文件excel文件导出类

  • 2016年04月24日 10:05
  • 2KB
  • 下载

将datagridview导出到excel的类

  • 2012年09月24日 10:46
  • 9KB
  • 下载

java 导入导出Excel工具类ExcelUtil

前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hibern...

C#导出生成excel文件类

  • 2013年09月18日 10:17
  • 28KB
  • 下载

c# datatable导出到excel的类

  • 2013年08月08日 20:38
  • 219KB
  • 下载

导入导出Excel工具类ExcelUtil

前言   最近做的高校平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出   本项目的持久化层用的是...

java 导入导出excel文件(工具类)

  • 2017年07月15日 16:26
  • 23.38MB
  • 下载

Excel导入导出工具类

excell导入导出工具类
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:导出到excel的类(一)
举报原因:
原因补充:

(最多只允许输入30个字)