1. 程式人生 > >C# 復制(帶格式)Excel工作表

C# 復制(帶格式)Excel工作表

C# .NET Excel API 類庫 復制 .NET

本文將介紹在C#中復制工作表數據的方法。對工作表的復制考慮了兩種情況來進行

  1. 在同一個工作簿內的不同工作表之間進行復制
  2. 在不同工作簿之間的不同工作表間進行復制
    這裏的復制是包含了復制數據、邊框、底紋、公式等原數據表格的所有內容
    另外,對於Excel表格數據的復制,除了針對整篇工作表的復制外,也可以只復制工作表中某一行或者列的數據。下面將詳細闡述代碼操作過程,方法供參考。
    使用工具:Free Spire.XLS for .NET(社區版)
    使用說明:安裝後,在項目程序中直接引用Spire.XLS.dll即可(dll文件可在安裝路徑下的Bin文件夾中獲取)
    測試文檔:
    技術分享圖片

一、在同一個工作簿內復制

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");
        }
    }
}

測試結果:

技術分享圖片

二、跨工作簿復制

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");
        }
    }
}

測試結果:
技術分享圖片

三、復制行或列

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");
        }
    }
}

測試結果:

1. 復制行

技術分享圖片

2.復制列
技術分享圖片

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

C# 復制(帶格式)Excel工作表