1. 程式人生 > >C# 按指定範圍拆分Excel工作表

C# 按指定範圍拆分Excel工作表

workbook excel文件 vpd let new 文件中 pre tof term

前面的文章講述了如何來合並Excel工作表,那本文將接著上篇文章,介紹如何按工作表的指定範圍來拆分。
原Excel文檔如下:
技術分享圖片
C#

using Spire.Xls;

namespace splitworksheet
{
    class Program
    {
        static void Main(string[] args)
        {
          //創建一個Workbook類對象,並加載Excel工作表,並獲取第一張工作表
            Workbook bookOriginal = new Workbook();
            bookOriginal.LoadFromFile("信息表.xlsx");
            Worksheet sheet = bookOriginal.Worksheets[0];
            //實例化一個新的Workbook對象,創建一個空的工作表,並獲取工作表一
            Workbook newBook1 = new Workbook();
            newBook1.CreateEmptySheets(1);
            //獲取源excel工作表中第二行至第八行(銷售部)的數據,將它們復制到newBook1的第一個工作表
            Worksheet newSheet1 = newBook1.Worksheets[0];
            CellRange range1 = sheet.Range[2, 1, 8, sheet.LastColumn];
            newSheet1.Copy(range1, newSheet1.Range[1, 1]);
        //重復以上操作步驟
            Workbook newBook2 = new Workbook();
            newBook2.CreateEmptySheets(1);
            Worksheet newSheet2 = newBook2.Worksheets[0];
            CellRange range2 = sheet.Range[9, 1, 15, sheet.LastColumn];
            newSheet2.Copy(range2, newSheet2.Range[1, 1]);
         //刪除源excel文件中第二行到第十五行的數據,剩下行(研發部)的數據將被保存為另一個新的excel文件。註意這裏的14代表的不是行號而是行數。
            sheet.DeleteRow(2, 14);
        //保存這三個excel文件並以部門的名字命名
            newBook1.SaveToFile("銷售部.xlsx", ExcelVersion.Version2007);
            newBook2.SaveToFile("人力資源部.xlsx", ExcelVersion.Version2007);
            bookOriginal.SaveToFile("研發部.xlsx", ExcelVersion.Version2007);
        }
    }
}

運行程序後,生成以下文件:
技術分享圖片

PS: 以上操作中,借助了組件Free Spire.XLS下載該組建後,在項目程序中添加引用Spire.XLS.dll到程序集中,同時在命名空間添加相應的using 指令。

如果喜歡,歡迎轉載(轉載請註明出處)

C# 按指定範圍拆分Excel工作表