1. 程式人生 > >C# 複製Excel工作表

C# 複製Excel工作表

本文將介紹在C#中複製工作表資料的方法。對工作表的複製考慮了兩種情況來進行

  • 在同一個工作簿內的不同工作表之間進行復制
  • 在不同工作簿之間的不同工作表間進行復制

(這裡的複製是包含了複製資料、邊框、底紋、公式等原資料表格的所有內容)

另外,對於Excel表格資料的複製,除了針對整篇工作表的複製外,也可以只複製工作表中某一行或者列的資料。下面將詳細闡述程式碼操作過程,方法供參考。

使用工具Free Spire.XLS for .NET(社群版)

使用說明:安裝後,在專案程式中直接引用Spire.XLS.dll即可(dll檔案可在安裝路徑下的Bin資料夾中獲取)

 

測試文件:



 

1. 同一工作簿內複製工作表

 

C#

 

using Spire.Xls;

namespace Copy2
{
    class Program
    {
        static void Main(string[] args)
        {
            //建立一個Workbook類物件,並載入Excel檔案
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("Sample.xlsx");
            //獲取第一個工作表sheet1
            Worksheet sheet1 = workbook.Worksheets[0];

            //新增一個新的工作表sheet2,並命名該工作表
            Worksheet sheet2 = workbook.Worksheets.Add("Copy");
            //將第一個工作表複製到新新增的工作表
            sheet2.CopyFrom(sheet1);

            //儲存並開啟檔案
            workbook.SaveToFile("工作表複製.xlsx",FileFormat.Version2010);
            System.Diagnostics.Process.Start("工作表複製.xlsx");
        }
    }
}

 測試效果:


 

2.跨工作簿複製工作表

using Spire.Xls;

namespace CopyWorksheet_XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //建立工作簿1,並載入第一個Excel檔案
            Workbook workbook1 = new Workbook();
            workbook1.LoadFromFile("Sample.xlsx");
            //獲取第一個工作表
            Worksheet sheet1 = workbook1.Worksheets[0];

            //建立工作簿2,並載入第二個Excel檔案
            Workbook workbook2 = new Workbook();
            workbook2.LoadFromFile(@"C:\Users\Administrator\Desktop\sample2.xlsx");

            //呼叫方法AddCopy()將第一個Excel檔案的sheet1複製到第二個Excel檔案,並命名複製後的檔案
            Worksheet sheet2 = workbook2.Worksheets.AddCopy(sheet1);
            sheet2.Name = "Copy";
            //儲存並開啟檔案
            workbook2.SaveToFile("Report.xlsx");
            System.Diagnostics.Process.Start("Report.xlsx");
        }
    }
}

測試效果:



 

3.複製一行(列)

using Spire.Xls;

namespace InsertRow_s__XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化Workbook類例項,並載入Excel 測試文件
            Workbook workbook = new Workbook();
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Sample.xlsx");

            //獲取第一個工作表
            Worksheet worksheet = workbook.Worksheets[0];

            //新插入一行作為第3行
            worksheet.InsertRow(3);
            //新插入一列作為第8列
           // worksheet.InsertColumn(8);

            //將第一行資料複製到第三行
            worksheet.Copy(worksheet.Range["A1:H1"], worksheet.Range["A3:H3"], true);
            //將第二列資料複製到第八列
           // worksheet.Copy(worksheet.Range["B1:B27"],worksheet.Range["H1:H27"],true);          

            //儲存並開啟文件
            workbook.SaveToFile("複製行.xlsx", ExcelVersion.Version2010);
            System.Diagnostics.Process.Start("複製行.xlsx");
        }
    }
}

 複製行



 

複製列


 

 以上內容為本次關於“C# 複製Excel工作表”的全部內容,歡迎轉載(轉載請註明出處)