翻譯|使用教程|編輯:吉煒煒|2024-12-16 10:25:23.840|閱讀 188 次
概述:在日常操作 Excel 文檔時,復制行、列和單元格是非常常見的需求。本文將介紹如何使用 Spire.XLS for .NET 和 C# 在 Excel 中復制行、列和單元格并保留格式。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在日常操作 Excel 文檔時,復制行、列和單元格是非常常見的需求。無論是整理數據、創建模板還是生成報表,復制操作都能大大提高工作效率。然而,復制不僅僅是將數據從一個位置拷貝到另一個位置,通常還涉及如何準確保留原始單元格的格式、公式、樣式以及其他相關屬性。這篇文章將介紹如何使用 Spire.XLS for .NET 和 C# 在 Excel 中復制行、列和單元格并保留格式。
安裝 Spire.XLS for .NET
首先,您需要將 Spire.XLS for .NET 包含的 DLL 文件作為引用添加到您的 .NET 項目中。
PM> Install-Package Spire.XLS
C# 在 Excel 中復制行
using Spire.Xls; namespace CopyRows { internal class Program { static void Main(string[] args) { // 創建 Workbook 對象 Workbook workbook = new Workbook(); // 加載 Excel 文件 workbook.LoadFromFile("示例.xlsx"); // 獲取源工作表 Worksheet sheet1 = workbook.Worksheets[0]; // 獲取目標工作表 Worksheet sheet2 = workbook.Worksheets[1]; // 獲取要復制的行 CellRange row = sheet1.Rows[0]; // 將源工作表的行復制到目標工作表的第一行 sheet1.CopyRow(row, sheet2, 1, CopyRangeOptions.All); int columns = sheet1.Columns.Length; // 將源行的列寬復制到目標行的相應單元格 for (int i = 0; i < columns; i++) { double columnWidth = row.Columns[i].ColumnWidth; sheet2.Rows[0].Columns[i].ColumnWidth = columnWidth; } // 保存修改后的工作簿 workbook.SaveToFile("復制行.xlsx", ExcelVersion.Version2016); workbook.Dispose(); } } }
C# 在 Excel 中復制列
同樣地,要在 Excel 工作表中復制列并保留格式,你可以使用 Worksheet.CopyColumn(CellRange sourceColumn, Worksheet destSheet, int destColIndex, CopyRangeOptions copyOptions) 方法。具體步驟如下:
using Spire.Xls; namespace CopyColumns { internal class Program { static void Main(string[] args) { // 創建 Workbook 對象 Workbook workbook = new Workbook(); // 加載 Excel 文件 workbook.LoadFromFile("示例.xlsx"); // 獲取源工作表 Worksheet sheet1 = workbook.Worksheets[0]; // 獲取目標工作表 Worksheet sheet2 = workbook.Worksheets[1]; // 獲取要復制的列 CellRange column = sheet1.Columns[0]; // 將源工作表的列復制到目標工作表的第一列 sheet1.CopyColumn(column, sheet2, 1, CopyRangeOptions.All); int rows = column.Rows.Length; // 將源列的行高復制到目標列的相應單元格 for (int i = 0; i < rows; i++) { double rowHeight = column.Rows[i].RowHeight; sheet2.Columns[0].Rows[i].RowHeight = rowHeight; } // 保存修改后的工作簿 workbook.SaveToFile("復制列.xlsx", ExcelVersion.Version2016); workbook.Dispose(); } } }
C# 在 Excel 中復制單元格
除了復制行和列以外,Spire.XLS for .NET 還提供了 CellRange.Copy(CellRange destRange, CopyRangeOptions copyOptions) 方法,支持復制特定單元格或單元格區域。具體步驟如下:
using Spire.Xls; namespace CopyCells { internal class Program { static void Main(string[] args) { // 創建 Workbook 對象 Workbook workbook = new Workbook(); // 加載 Excel 文件 workbook.LoadFromFile("示例.xlsx"); // 獲取源工作表 Worksheet sheet1 = workbook.Worksheets[0]; // 獲取目標工作表 Worksheet sheet2 = workbook.Worksheets[1]; // 獲取源單元格區域 CellRange range1 = sheet1.Range["A1:E7"]; // 獲取目標單元格區域 CellRange range2 = sheet2.Range["A1:E7"]; // 將源單元格區域復制到目標單元格區域 range1.Copy(range2, CopyRangeOptions.All); // 將源單元格區域的行高和列寬復制到目標單元格區域 for (int i = 0; i < range1.Rows.Length; i++) { CellRange row = range1.Rows[i]; for (int j = 0; j < row.Columns.Length; j++) { CellRange column = row.Columns[j]; range2.Rows[i].Columns[j].ColumnWidth = column.ColumnWidth; range2.Rows[i].RowHeight = row.RowHeight; } } // 保存修改后的工作簿 workbook.SaveToFile("復制單元格.xlsx", ExcelVersion.Version2016); workbook.Dispose(); } } }
歡迎下載|體驗更多E-iceblue產品
獲取更多信息請咨詢慧都在線客服 ;技術交流Q群(767755948)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網