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