对excel完整的程序代码

使用VS2005 编写,需.Net Framework 2.0支持

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Microsoft.Office.Interop.Excel;    //引用Excel的COM组件

 

namespace WinFormExcelWelcome

...{

    public partial class Form1 : Form

    ...{

        public Form1()

        ...{

            InitializeComponent();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            Microsoft.Office.Interop.Excel.Application app1 =

            new Microsoft.Office.Interop.Excel.Application();

//在Windows中生成一个Excel.exe进程

            app1.Visible = true; //运行时显示Excel主窗口

            try

            {

                Workbook book1 = app1.Workbooks.Add(Type.Missing);

//使用 app1生成一个book对象

                Worksheet sheet1 = (Worksheet)book1.Sheets[1];

//从book1对象中生成Sheet对象并赋值

                Range rng1 = sheet1.get_Range("A1", Type.Missing); //设置操作区域

                rng1.Value2 = "Hello World!"; //对操作区域赋值

            }

            catch

            ...{

                app1.Quit();//结束进程

            }

        }

 

        private void button2_Click(object sender, EventArgs e)

        ...{

            Microsoft.Office.Interop.Excel.Application app1 =

                new Microsoft.Office.Interop.Excel.Application();

            app1.Visible = true; //运行时显示Excel主窗口

            try

            ...{  

                //打开一个已经存在的excel文件

                Workbook book1 = app1.Workbooks.Open("D:\test.xlsx", Type.Missing,

               Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,

               Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,

               Type.Missing, Type.Missing, Type.Missing);

               Worksheet sheet1 = (Worksheet)book1.Sheets["Sheet1"];

               Range rng1 = sheet1.get_Range("A1:C3,E2:G6", Type.Missing);

//设置操作区域为2个不连续区域

               rng1.NumberFormatLocal = "@";

               rng1.Value2 = "2006147214E00045"; /对操作区域赋值

               Range rng2 = sheet1.get_Range("F1:F6", Type.Missing);

               rng2.Value2 = "2006147214E00045";

               app1.DisplayAlerts = false;  //不显示保存对话框

               book1.Save(); //保存

            }

            catch

            ...{

                app1.Quit();//结束进程

            }

 

        }

 

        private void button3_Click(object sender, EventArgs e)

        ...{

            Microsoft.Office.Interop.Excel.Application app1 =

                new Microsoft.Office.Interop.Excel.Application();

            app1.Visible = false; //运行时不显示Excel主窗口

            try

            ...{

                Workbook book1 = app1.Workbooks.Add(Type.Missing); 

                Worksheet sheet1 = (Worksheet)book1.Sheets[1];

                app1.DisplayAlerts = true;

                //将打开的Excel文件另存:D est.xlsx 格式 xlXMLSpreadsheet(xlsm)、xlOpenXMLWorkbook(xlsx)、 xlExcel12(xlsb)

                book1.SaveAs("D:\test.xlsx", Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook,

                    Type.Missing, Type.Missing,false,false,

                    Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,

                    Microsoft.Office.Interop.Excel.XlSaveConflictResolution.xlLocalSessionChanges,

                    Type.Missing, Type.Missing, Type.Missing, Type.Missing);

                book1.Close(Type.Missing, "D:\test.xlsx", Type.Missing);      

            }

            catch

            ...{

                app1.Quit();

            }

            finally

            ...{

                app1.Quit();

            }

        }

    }

}

posted @ 2009-08-18 15:30  oraclejava  阅读(336)  评论(0)    收藏  举报