C#代碼實(shí)現(xiàn)在Excel不同工作簿之間復(fù)制單元格區(qū)域
在處理 Excel 文檔時(shí),經(jīng)常需要將一個(gè)工作簿中的數(shù)據(jù)復(fù)制到另一個(gè)工作簿中。你可以根據(jù)需要在不同工作簿之間復(fù)制指定的單元格區(qū)域,也可以復(fù)制整個(gè)工作表。本文將介紹如何使用 Spire.XLS for .NET 將一個(gè)工作簿中的指定單元格范圍復(fù)制到另一個(gè)工作簿中。
安裝 Spire.XLS for .NET
首先,你需要在 .NET 項(xiàng)目中引用 Spire.XLS for .NET 包中的 DLL 文件。你可以通過(guò)下載官方安裝包獲取這些 DLL 文件并手動(dòng)添加引用,也可以直接通過(guò) NuGet 安裝該組件。
PM> Install-Package Spire.XLS
在不同工作簿之間復(fù)制單元格區(qū)域
Spire.XLS for .NET 提供了 Worksheet.Copy() 方法,可用于將數(shù)據(jù)從源單元格區(qū)域復(fù)制到目標(biāo)單元格區(qū)域。目標(biāo)區(qū)域既可以位于同一工作簿中,也可以位于另一個(gè)工作簿中。下面介紹如何將一個(gè)工作簿中的單元格區(qū)域復(fù)制到另一個(gè)工作簿的具體步驟:
- 創(chuàng)建 Workbook 對(duì)象并加載源 Excel 文件。
- 通過(guò)
Workbook.Worksheets屬性獲取源工作表,并使用Worksheet.Range屬性獲取需要復(fù)制的源單元格區(qū)域。 - 再創(chuàng)建一個(gè) Workbook 對(duì)象并加載目標(biāo) Excel 文件。
- 獲取目標(biāo)工作表以及目標(biāo)單元格區(qū)域。
- 使用
Worksheet.Copy(CellRange source, CellRange destRange)方法,將源區(qū)域的數(shù)據(jù)復(fù)制到目標(biāo)區(qū)域。 - 為了確保數(shù)據(jù)在目標(biāo)工作簿中能夠正確顯示,將源區(qū)域的列寬復(fù)制到目標(biāo)區(qū)域。
- 最后使用
Workbook.SaveToFile()方法將目標(biāo)工作簿保存為 Excel 文件。
示例代碼如下:
using Spire.Xls;
namespace CopyCellRange
{
class Program
{
static void Main(string[] args)
{
//創(chuàng)建 Workbook 對(duì)象
Workbook sourceBook = new Workbook();
//加載源工作簿
sourceBook.LoadFromFile(@"C:\Users\Administrator\Desktop\source.xlsx");
//獲取源工作表
Worksheet sourceSheet = sourceBook.Worksheets[0];
//獲取源單元格區(qū)域
CellRange sourceRange = sourceSheet.Range["A1:E4"];
//創(chuàng)建另一個(gè) Workbook 對(duì)象
Workbook destBook = new Workbook();
//加載目標(biāo)工作簿
destBook.LoadFromFile(@"C:\Users\Administrator\Desktop\destination.xlsx");
//獲取目標(biāo)工作表
Worksheet destSheet = destBook.Worksheets[0];
//獲取目標(biāo)單元格區(qū)域
CellRange destRange = destSheet.Range["B2:F5"];
//將源區(qū)域的數(shù)據(jù)復(fù)制到目標(biāo)區(qū)域
sourceSheet.Copy(sourceRange, destRange);
//遍歷源區(qū)域中的每一列
for (int i = 0; i < sourceRange.Columns.Length; i++)
{
//同時(shí)將源區(qū)域的列寬復(fù)制到目標(biāo)區(qū)域
destRange.Columns[i].ColumnWidth = sourceRange.Columns[i].ColumnWidth;
}
//將目標(biāo)工作簿保存為 Excel 文件
destBook.SaveToFile("CopyRange.xlsx");
}
}
}方法補(bǔ)充
C#復(fù)制Excel中的指定單元格區(qū)域
1. 在同一個(gè)sheet工作表中復(fù)制
using Spire.Xls;
namespace CopyRanges_XLS
{
class Program
{
static void Main(string[] args)
{
//加載Excel工作簿
Workbook book = new Workbook();
book.LoadFromFile("sample.xlsx", ExcelVersion.Version2013);
//獲取第一個(gè)工作表
Worksheet sheet = book.Worksheets[0];
//將源數(shù)據(jù)數(shù)據(jù)復(fù)制到目標(biāo)單元格區(qū)域
sheet.Copy(sheet.Range["A1:F1"], sheet.Range["A6:F6"], true);
//保存文檔
book.SaveToFile("result.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("result.xlsx");
}
}
}2. 在不同工作簿的sheet工作表間復(fù)制
using Spire.Xls;
namespace CopyRanges2
{
class Program
{
static void Main(string[] args)
{
//加載Excel工作簿1
Workbook book1 = new Workbook();
book1.LoadFromFile("sample.xlsx", ExcelVersion.Version2013);
//加載Excel工作簿2
Workbook book2 = new Workbook();
book2.LoadFromFile("test.xlsx");
//獲取工作表
Worksheet sheet1 = book1.Worksheets[0];
Worksheet sheet2 = book2.Worksheets[1];
//將源數(shù)據(jù)數(shù)據(jù)復(fù)制到目標(biāo)單元格區(qū)域
sheet1.Copy(sheet1.Range["A1:F1"], sheet2.Range["B4:G4"], true);
//保存工作簿2
book2.SaveToFile("result2.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("result2.xlsx");
}
}
}到此這篇關(guān)于C#代碼實(shí)現(xiàn)在Excel不同工作簿之間復(fù)制單元格區(qū)域的文章就介紹到這了,更多相關(guān)C# Excel復(fù)制單元格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#導(dǎo)出網(wǎng)站功能實(shí)例代碼講解
這篇文章主要介紹了C#導(dǎo)出網(wǎng)站功能實(shí)例代碼,需要的朋友可以參考下2015-10-10
C#中HttpClient使用注意(預(yù)熱與長(zhǎng)連接)
本文主要介紹了C#中HttpClient使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
WPF實(shí)現(xiàn)能自由改變形狀的四邊形和六邊形
這篇文章主要為大家詳細(xì)介紹了WPF如何實(shí)現(xiàn)能自由改變形狀的四邊形和六邊形,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03
C#對(duì)DataTable里數(shù)據(jù)排序的方法
在日常開發(fā)過(guò)程中,有一個(gè)DataTable集合,里面有很多字段,現(xiàn)在要求針對(duì)某一列進(jìn)行排序,如果該列為數(shù)字的話,進(jìn)行ASC即可實(shí)現(xiàn),但是該字段類型為string,此時(shí)排序就有點(diǎn)不正確了2013-11-11
Unity的IPostprocessBuildWithReport實(shí)用案例深入解析
這篇文章主要為大家介紹了Unity的IPostprocessBuildWithReport實(shí)用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
C#實(shí)現(xiàn)Windows Form調(diào)用R進(jìn)行繪圖與顯示的方法
眾所周知R軟件功能非常強(qiáng)大,可以很好的進(jìn)行各類統(tǒng)計(jì),并能輸出圖形。下面介紹一種R語(yǔ)言和C#進(jìn)行通信的方法,并將R繪圖結(jié)果顯示到WinForm UI界面上的方法,文中介紹的很詳細(xì),需要的朋友可以參考下。2017-02-02

