C# EXCEL 分组 Range.Rows.Group()

今天项目的一个导出功能要改动,在导出的EXCEL文件中分组,真是变态啊,

在网上找了N久都没有C#的解决方案,VB的倒是有,但不合用。。。

经过几个小时的痛苦挣扎,终于搞掂了,不容易啊。。。

下面是代码:

string fileName = AppDomain.CurrentDomain.BaseDirectory + "1.xls";
            Excel.Application xApp = new Excel.ApplicationClass();
            xApp.Visible = false;
            xApp.AlertBeforeOverwriting = false;//覆盖不弹窗
            xApp.DisplayAlerts = false;
            Excel.Workbook xBook = xApp.Workbooks._Open(fileName,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value
            , Missing.Value, Missing.Value, Missing.Value, Missing.Value
            , Missing.Value, Missing.Value, Missing.Value, Missing.Value);
            Excel.Worksheet xSheet = (Excel.Worksheet)xBook.Sheets[1];
           //关键代码
            Range range = xSheet.get_Range(xSheet.Cells[4, 1], xSheet.Cells[7, 1]);
            range.Rows.Select();
           range.Rows.Group(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
           xSheet.SaveAs(AppDomain.CurrentDomain.BaseDirectory + "2.xls",  //保存路径也可为上面打开的路径
                               Excel.XlFileFormat.xlExcel7,  //指定保存格式
                               Missing.Value,
                               Missing.Value,
                               Missing.Value,
                               Missing.Value,
                               Excel.XlSaveAsAccessMode.xlShared,
                               Missing.Value, Missing.
                               Value, Missing.Value); 
            //关闭Excel            
            xSheet = null;
            xBook = null;
            xApp.Quit(); //这一句是非常重要的,否则Excel对象不能从内存中退出
            xApp = null;
            GC.Collect();
            System.GC.WaitForPendingFinalizers();


 

效果图:

 
C# EXCEL 分组 Range.Rows.Group()_第1张图片
 
C EXCEL 分组 Range.Rows.Group() - kogu - kogu的博客

你可能感兴趣的:(String,Excel,C#,null,vb)