C#对Excel操作

来源:互联网 发布:快速排序java 编辑:程序博客网 时间:2024/05/16 04:05


创建、打开、读取、写入、保存的一般性代码: 



using System; 
      using System.Reflection; // 引用这个才能使用Missing字段


      namespace CExcel1 
      {
        class Class1 
        {
            [STAThread] 
          static void Main(string[] args) 
          {
            //创建Application对象 
            Excel.Application xApp=new Excel.ApplicationClass(); 

 


           //创建Excel后打开显示true,false不打开显示

           xApp.Visible =false;


            //得到WorkBook对象, 可以用两种方式之一: 下面的是打开已有的文件 
            Excel.Workbook xBook=xApp.Workbooks._Open(@"D:\Sample.xls", 
            Missing.Value,Missing.Value,Missing.Value,Missing.Value 
            ,Missing.Value,Missing.Value,Missing.Value,Missing.Value 

            ,Missing.Value,Missing.Value,Missing.Value,Missing.Value); 


            //新建文件的代码 

           xBook=xApp.Workbooks.Add(Missing.Value);


            //指定要操作的Sheet,两种方式: 
            Excel.Worksheet xSheet=(Excel.Worksheet)xBook.Sheets[1]; 
            Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet; 


            //读取数据,通过Range对象 
            Excel.Range rng1=xSheet.get_Range("A1",Type.Missing); 
            Console.WriteLine(rng1.Value2); 


            //读取,通过Range对象,但使用不同的接口得到Range 
            Excel.Range rng2=(Excel.Range)xSheet.Cells[3,1]; 
            Console.WriteLine(rng2.Value2); 


            //写入数据,记得要实例化
          for (Int16 i = 1; i < 100; i++)
          {
            string sh ="B"+i.ToString ();                                          //sh是位置:B列 i是行 
            Excel.Range rng3 = my_sheet.get_Range(sh, Missing.Value);//获取当前的位置
            rng3.Value2 = "Hello";                                                           //向该位置写内容
            rng3.Interior.ColorIndex = 6;                                           //设置Range的背景色 
          }


            //保存方式一:保存WorkBook                             xBook.SaveAs(@"D:\CData.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,
             Excel.XlSaveAsAccessMode.xlNoChange,Missing.Value,Missing.Value,Missing.Value,
             Missing.Value,Missing.Value); 


            //保存方式二:保存WorkSheet 
            xSheet.SaveAs(@"D:\CData2.xls",
  Missing.Value,Missing.Value,Missing.Value,Missing.Value,
             Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value); 

   

           //保存方式三 ,保存到程序的根目录

   xSheet.SaveAs(System.Windows.Forms.Application.StartupPath + "\\demo.xls",     Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);


            //保存方式四
            xBook.Save(); 

            //最后
            xSheet=null; 
            xBook=null; 
            xApp.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出 
            xApp=null; 
          }
        }
      }
0 0