分享

使用COM组件实现对Excel文件的操控

 法效天地 2014-01-29
{
        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();
            }
        }
    }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多