跳過到頁腳內容
使用 IRONXL

如何在 Excel 中移動行

多年来,Excel 一直是最受欢迎的数据处理形式之一,数百万电脑用户每天都在为工作或个人记账需求使用此电子表格。 可用于超过 14 亿台基于 Windows 的 PCs,这相当于世界人口的约 45%。 Excel 是一个用于数据分析、反复编辑、排序、过滤、数据透视表和图表的强大工具。 它也是商业世界中最受欢迎的工具之一,超过四百万的人每天积极使用它。 列和行的标题、列字母和行数字是 Excel 电子表格的主要特点。 使用列字母和行数字,您可以定位任何单元格——这是 Excel 中的主要元素。

Excel 在企业中的普及创造了一个环境,在这里可以选择多个昂贵的版本,它们提供更多的功能和财务分析,包括“专业版”。 此版本的 Excel 通常用于商业环境,其功能支持更高级别的数据分析、高级图形功能和与第三方应用程序的协调。 Excel 是一个具有类似 Microsoft Word 界面的电子表格程序,允许用户使用公式创建和分析数据。

让我们看看如何在 Excel 中移动行或列。

在 Microsoft Excel 中移动整行

我们可以在 Microsoft Excel 中移动行或选定的单元格。 有几种方法可以做到这一点。 假设我们在 Microsoft Excel 中有这些行,并且需要移动一行。 我们现在可以查看如何完成此操作。

拖放

如何在 Excel 中移动行,图 1: Excel 中的原始数据行 Excel 中的原始数据行

按照以下步骤移动行:

  • 选择要移动的行。
  • 按住 Shift 键,将光标移至选定行的角落。 会弹出一个四边形图标。

如何在 Excel 中移动行,图 2:使用拖放移动数据 使用拖放移动数据

  • 按住 Shift 键的同时,单击边缘(用左键)。
  • 将其移到您想将行移到的位置。
  • 当你在行的底部看到一条粗线时,释放鼠标按钮。 之后,也释放 Shift 键。 在最后一刻之前保持按住 Shift 键是很重要的。

这些步骤也可以用于选择的单元格。 如果您想移动整列,可以选择整列,然后执行相同的步骤。

剪切粘贴法

剪切粘贴法是移动行和列的一种简单方法。 可以不使用拖放方法,也不需要插入新行或新列。 按照以下步骤在 Excel 中移动整行或多个相邻行。

  • 在 Microsoft Excel 中选择要移动的行或多行。
  • 按下 Ctrl 键并同时按 X 键以剪切选定的行。 (Ctrl + X)

如何在 Excel 中移动行,图 3:剪切选定行 剪切选定行

  • 现在转到要移动该行的位置。
  • 右键单击 Excel 中的行,并从右键菜单中选择插入剪切单元格选项。

如何在 Excel 中移动行,图 4:从右键菜单粘贴行 从右键菜单粘贴行

  • 它将粘贴选定的行,其他行将上移。

如何在 Excel 中移动行,图 5:剪切和粘贴方法后的结果 剪切和粘贴方法后的结果

使用此方法,移动 Excel 中的整行或列变得非常简单。 您也可以通过相同的技术移动列。 只需选择列,所有操作都将在选定列上执行。

IronXL: C# Excel 函式庫

IronXL 是一个 .NET C# Excel 库,供开发人员编辑和保存 Excel 文件。 它被设计为帮助开发人员快速创建、编辑和保存 Excel 文件,而不需要安装 Microsoft Excel。

IronXL Excel 库专为 .NET C# 开发人员设计,以便在不安装 Microsoft Excel 的情况下编辑和保存 Excel 文件。 IronXL Excel 库是一个强大的工具,任何需要在项目中处理 Excel 电子表格的开发人员都可以使用。 IronXL 库包括许多标准 Microsoft Excel 库中找不到的功能。 這些包括:

  • 具有列过滤、排序和分组能力的数据表可视化
  • 数据验证功能
  • 将现有电子表格中的数据提取到一个新电子表格中
  • 带有自定义选项(如配色方案、标题、轴标签等)的交互式图表
  • 能够将图表导出为图像或 PDF 文件
  • 可自定义的透视表,用于显示复杂数据集

以下是将一行添加到 Excel 文件第一位置的代码:

using IronXL;

static void Main(string[] args)
{
    // Load the Excel file
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Get the worksheet named "Sheet1"
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Start from the last row and prepare to push all rows down by one
    int j = ws.Rows.Count() + 1;

    // Shift all existing rows down by one and set new row at the top
    for (int i = 1; i <= ws.Rows.Count(); i++)
    {
        // If reached the first position, insert new row
        if (j == 0)
        {
            ws.Rows[0].Value = "new row";
            break;
        }

        // Assign values from row j to row (j + 1)
        ws["A" + (j + 1)].Value = ws["A" + j].Value;
        ws["B" + (j + 1)].Value = ws["B" + j].Value;
        ws["C" + (j + 1)].Value = ws["C" + j].Value;
        ws["D" + (j + 1)].Value = ws["D" + j].Value;
        ws["E" + (j + 1)].Value = ws["E" + j].Value;

        // Move to the previous row
        j = j - 1;
    }

    // Save the changes to the Excel file
    wb.SaveAs("sample.xlsx");
}
using IronXL;

static void Main(string[] args)
{
    // Load the Excel file
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Get the worksheet named "Sheet1"
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Start from the last row and prepare to push all rows down by one
    int j = ws.Rows.Count() + 1;

    // Shift all existing rows down by one and set new row at the top
    for (int i = 1; i <= ws.Rows.Count(); i++)
    {
        // If reached the first position, insert new row
        if (j == 0)
        {
            ws.Rows[0].Value = "new row";
            break;
        }

        // Assign values from row j to row (j + 1)
        ws["A" + (j + 1)].Value = ws["A" + j].Value;
        ws["B" + (j + 1)].Value = ws["B" + j].Value;
        ws["C" + (j + 1)].Value = ws["C" + j].Value;
        ws["D" + (j + 1)].Value = ws["D" + j].Value;
        ws["E" + (j + 1)].Value = ws["E" + j].Value;

        // Move to the previous row
        j = j - 1;
    }

    // Save the changes to the Excel file
    wb.SaveAs("sample.xlsx");
}
Imports IronXL

Shared Sub Main(ByVal args() As String)
	' Load the Excel file
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")

	' Get the worksheet named "Sheet1"
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	' Start from the last row and prepare to push all rows down by one
	Dim j As Integer = ws.Rows.Count() + 1

	' Shift all existing rows down by one and set new row at the top
	For i As Integer = 1 To ws.Rows.Count()
		' If reached the first position, insert new row
		If j = 0 Then
			ws.Rows(0).Value = "new row"
			Exit For
		End If

		' Assign values from row j to row (j + 1)
		ws("A" & (j + 1)).Value = ws("A" & j).Value
		ws("B" & (j + 1)).Value = ws("B" & j).Value
		ws("C" & (j + 1)).Value = ws("C" & j).Value
		ws("D" & (j + 1)).Value = ws("D" & j).Value
		ws("E" & (j + 1)).Value = ws("E" & j).Value

		' Move to the previous row
		j = j - 1
	Next i

	' Save the changes to the Excel file
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

此代码将向下移动行,并将新行放置在文档的第一位置。 for 循环将所有行下移,并在第一位置添加新行数据。 我们也可以在文档末尾添加行。 让我们看看怎么做到:

using IronXL;

static void Main(string[] args)
{
    // Load the Excel file
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Get the worksheet named "Sheet1"
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Determine the new row number, just after the last current row
    int i = ws.Rows.Count() + 1;

    // Add a new row with specific values at the end
    ws["A" + i].Value = "New Row";
    ws["B" + i].Value = "New Row";
    ws["C" + i].Value = "New Row";
    ws["D" + i].Value = "New Row";
    ws["E" + i].Value = "New Row";

    // Save the changes to the Excel file
    wb.SaveAs("sample.xlsx");
}
using IronXL;

static void Main(string[] args)
{
    // Load the Excel file
    WorkBook wb = WorkBook.Load("sample.xlsx");

    // Get the worksheet named "Sheet1"
    WorkSheet ws = wb.GetWorkSheet("Sheet1");

    // Determine the new row number, just after the last current row
    int i = ws.Rows.Count() + 1;

    // Add a new row with specific values at the end
    ws["A" + i].Value = "New Row";
    ws["B" + i].Value = "New Row";
    ws["C" + i].Value = "New Row";
    ws["D" + i].Value = "New Row";
    ws["E" + i].Value = "New Row";

    // Save the changes to the Excel file
    wb.SaveAs("sample.xlsx");
}
Imports IronXL

Shared Sub Main(ByVal args() As String)
	' Load the Excel file
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")

	' Get the worksheet named "Sheet1"
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

	' Determine the new row number, just after the last current row
	Dim i As Integer = ws.Rows.Count() + 1

	' Add a new row with specific values at the end
	ws("A" & i).Value = "New Row"
	ws("B" & i).Value = "New Row"
	ws("C" & i).Value = "New Row"
	ws("D" & i).Value = "New Row"
	ws("E" & i).Value = "New Row"

	' Save the changes to the Excel file
	wb.SaveAs("sample.xlsx")
End Sub
$vbLabelText   $csharpLabel

此代码将在文档的底部添加新行。 您可以在我们的小贴士页面中查看更多关于如何添加新行的详细信息。

你可以購買最適合自己的計畫。 您甚至可以获得免费试用 — IronXL 免费试用无需任何付款或信用卡信息即可激活。 然而,IronXL 对于开发是免费使用的。 访问我们的许可页面了解更多信息。

常見問題解答

我如何以程式方式將行移動到 Excel 中的新位置?

您可以使用 IronXL 的 C# 方法選擇要移動的行並將其放置在新位置。這是通過操作 WorkBookWorkSheet 對像來重新排列行的。

手動移動 Excel 中的行的過程是什麼?

要在 Excel 中手動移動行,可以通過選擇行、按住 Shift 鍵並將其拖到所需位置來使用拖放方法。或者,通過按 Ctrl + X 並將剪切的單元格插入到新位置來使用剪切和粘貼方法。

我可以在不安裝 Excel 的情況下自動化 Excel 文件的操作嗎?

是的,IronXL 允許您使用 C# 程式編寫創建、編輯和保存 Excel 文件,而無需安裝 Microsoft Excel,提供無縫的自動化體驗。

如何以程式方式將新行添加到 Excel 表格的頂部?

使用 IronXL,您可以將現有行向下移一行,並使用 C# 代碼在第一個位置插入一個新行,從而允許在 Excel 表格的頂部動態輸入數據。

是否可以使用 C# 將新行附加到 Excel 表格的末尾?

是的,通過確定最後一行號碼,您可以使用 IronXL 在工作表的末尾附加一行,通過 C# 代碼為這一行設置值。

IronXL 有哪些高級數據操作功能?

IronXL 提供高級功能,如數據可視化、驗證和提取,以及創建交互式圖表和可定制樞紐分析表,所有這些都可以通過 C# 編程獲得。

IronXL 如何以免費選項支持開發人員?

IronXL 提供免費試用版,允許免費開發使用,其詳細授權信息可在官方網站獲得。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。