溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#怎么在不同工作簿之間復制選定單元格區(qū)域

發(fā)布時間:2023-02-10 09:12:58 來源:億速云 閱讀:170 作者:iii 欄目:開發(fā)技術

這篇“C#怎么在不同工作簿之間復制選定單元格區(qū)域”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“C#怎么在不同工作簿之間復制選定單元格區(qū)域”文章吧。

程序環(huán)境

本次測試時,在程序中引入 Spire.XLS.dll 文件。

方法1:

將Free Spire.XLS for .NET 下載到本地,解壓,找到 BIN 文件夾下的 Spire.XLS.dll。然后在 Visual Studio 中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“添加引用”,將本地路徑 BIN 文件夾下的 dll 文件添加引用至程序。

方法2::

通過NuGet安裝??赏ㄟ^以下 2 種方法安裝:

 1. 可以在 Visual Studio 中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“管理 NuGet 包”,然后搜索“Free Spire.XLS”,點擊“安裝”。等待程序安裝完成。

 2. 將以下內容復制到 PM 控制臺安裝。

Install-Package FreeSpire.XLS -Version 12.7

不同工作簿之間復制單元格范圍

  • 創(chuàng)建一個Workbook對象以加載源 Excel 文檔。

  • 分別使用 Workbook.Worksheets 屬性和 Worksheet.Range 屬性獲取源工作表和源單元格區(qū)域。

  • 創(chuàng)建另一個Workbook對象以加載目標 Excel 文檔。

  • 獲取目標工作表和單元格區(qū)域。

  • 使用 Worksheet.Copy(CellRange source, CellRange destRange) 將數據從源區(qū)域復制到目標區(qū)域。

  • 將源區(qū)域的列寬復制到目標區(qū)域,以便數據可以在目標工作簿中正常顯示。

  • 使用 Workbook.SaveToFile() 方法將目標工作簿保存到 Excel 文件。

完整代碼

C#

using Spire.Xls;

namespace CopyCellRange
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建一個Workbook對象
            Workbook sourceBook = new Workbook();

            //加載源 Excel 文檔
            sourceBook.LoadFromFile("營業(yè)狀況表.xlsx");

            //獲取源工作表
            Worksheet sourceSheet = sourceBook.Worksheets[0];

            //獲取源單元格區(qū)域
            CellRange sourceRange = sourceSheet.Range["A1:G5"];

            //創(chuàng)建另一個Workbook對象
            Workbook destBook = new Workbook();

            //加載目標工作簿
            destBook.LoadFromFile("目標文檔.xlsx");

            //獲取目標工作表
            Worksheet destSheet = destBook.Worksheets[0];

            //獲取單元格區(qū)域
            CellRange destRange = destSheet.Range["B2:H6"];

            //將數據從源范圍復制到目標范圍
            sourceSheet.Copy(sourceRange, destRange);

            //循環(huán)遍歷源范圍中的列
            for (int i = 0; i < sourceRange.Columns.Length; i++)
            {
                //將列寬也從源范圍復制到目標范圍
                destRange.Columns[i].ColumnWidth = sourceRange.Columns[i].ColumnWidth;
            }

            //將目標工作簿保存到 Excel 文件
            destBook.SaveToFile("復制單元格范圍.xlsx");
        }
    }
}

VB.NET

Imports Spire.Xls

Namespace CopyCellRange
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '創(chuàng)建一個Workbook對象
            Dim sourceBook As Workbook = New Workbook()

            '加載源 Excel 文檔
            sourceBook.LoadFromFile("營業(yè)狀況表.xlsx")

            '獲取源工作表
            Dim sourceSheet As Worksheet = sourceBook.Worksheets(0)

            '獲取源單元格區(qū)域
            Dim sourceRange As CellRange = sourceSheet.Range("A1:G5")

            '創(chuàng)建另一個Workbook對象
            Dim destBook As Workbook = New Workbook()

            '加載目標工作簿
            destBook.LoadFromFile("目標文檔.xlsx")

            '獲取目標工作表
            Dim destSheet As Worksheet = destBook.Worksheets(0)

            '獲取單元格區(qū)域
            Dim destRange As CellRange = destSheet.Range("B2:H6")

            '將數據從源范圍復制到目標范圍
            sourceSheet.Copy(sourceRange, destRange)

            '循環(huán)遍歷源范圍中的列
            For i As Integer = 0 To sourceRange.Columns.Length - 1
                '將列寬也從源范圍復制到目標范圍
                destRange.Columns(i).ColumnWidth = sourceRange.Columns(i).ColumnWidth
            Next

            '將目標工作簿保存到 Excel 文件
            destBook.SaveToFile("復制單元格范圍.xlsx")
        End Sub
    End Class
End Namespace

效果圖

C#怎么在不同工作簿之間復制選定單元格區(qū)域

以上就是關于“C#怎么在不同工作簿之間復制選定單元格區(qū)域”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI