翻譯|使用教程|編輯:吉煒煒|2024-12-16 10:25:23.840|閱讀 215 次
概述:在日常操作 Excel 文檔時(shí),復(fù)制行、列和單元格是非常常見的需求。本文將介紹如何使用 Spire.XLS for .NET 和 C# 在 Excel 中復(fù)制行、列和單元格并保留格式。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在日常操作 Excel 文檔時(shí),復(fù)制行、列和單元格是非常常見的需求。無論是整理數(shù)據(jù)、創(chuàng)建模板還是生成報(bào)表,復(fù)制操作都能大大提高工作效率。然而,復(fù)制不僅僅是將數(shù)據(jù)從一個(gè)位置拷貝到另一個(gè)位置,通常還涉及如何準(zhǔn)確保留原始單元格的格式、公式、樣式以及其他相關(guān)屬性。這篇文章將介紹如何使用 Spire.XLS for .NET 和 C# 在 Excel 中復(fù)制行、列和單元格并保留格式。
安裝 Spire.XLS for .NET
首先,您需要將 Spire.XLS for .NET 包含的 DLL 文件作為引用添加到您的 .NET 項(xiàng)目中。
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();
}
}
}
歡迎下載|體驗(yàn)更多E-iceblue產(chǎn)品
獲取更多信息請咨詢慧都在線客服 ;技術(shù)交流Q群(767755948)
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都網(wǎng)