跳過到頁腳內容
使用 IRONXL

如何在 Excel 中移動欄位

在 Excel 中移動行很簡單,可以使用按住 Shift 鍵拖放,也可以使用剪下貼上的方法。 對於 C# 中的程式化行操作,IronXL 提供了強大的 API,無需安裝 Microsoft Office 即可新增、移動和修改 Excel 行。

Excel 仍然是使用最廣泛的資料處理工具之一,無數使用者每天都依賴這款電子表格軟體進行工作或個人會計。 它是一款功能強大的資料分析工具,可進行編輯、排序、篩選、資料透視表和圖表繪製。 列標題和行標題,以及其中的字母和數字,構成了 Excel 電子表格的基礎。 利用這些座標,您可以定位任何儲存格-Excel 的基本組成部分。

Excel 在商業領域的流行催生了各種版本,這些版本都具備用於財務分析和第三方整合的高級功能。 專業版常用於商業環境,提供增強的數據分析功能、高級圖表功能以及與其他應用程式的無縫協作。 Excel 的核心是一個電子表格程序,它具有直覺的介面,允許使用者使用公式建立和分析資料。

讓我們來探討如何在 Excel 中移動行或列。 無論您是在 Excel 介面中手動操作,還是使用 C# 進行編程,了解行操作對於高效的資料管理都至關重要。 對於希望實現 Excel 操作自動化的新創公司和技術創辦人,我們還將探討IronXL如何提供一種經濟高效的Excel 自動化解決方案,而無需昂貴的 Microsoft Office 授權。

如何在 Microsoft Excel 中移動整行?

在 Microsoft Excel 中,您可以使用多種方法來移動行或選取的儲存格,每種方法都有其優勢,具體取決於您的工作流程。 假設您在 Microsoft Excel 中有一些行需要重新排列。 我們將探討實現這一目標的有效方法,無論您處理的是小型資料集還是大型電子表格

使用拖放功能最快的方法是什麼?

Excel 工作表顯示一個表格,包含三個欄位(名字、姓氏、學號),共 9 行學生數據,標題行為黃色。
Excel 中的原始資料行

請依照以下步驟移動一行:

  • 選擇要移動的行。 按住 Shift 鍵並將滑鼠懸停在所選行的邊緣上。 出現一個四角箭頭。

! Excel 表格顯示了姓名和學號列表,其中第 2-4 行以紅色邊框突出顯示,演示瞭如何使用拖放方法選擇行來移動數據。
使用拖放功能移動數據

  • 按住 Shift 鍵,點選邊緣(滑鼠左鍵)。
  • 拖曳到您想要放置行的位置。
  • 當目標位置出現粗線時,放開滑鼠按鈕,然後放開 Shift 鍵。

這些步驟也適用於選取的儲存格。 若要移動整列,請選擇該列並依照相同的步驟操作。 當您需要快速重新組織資料而又不想使用剪下和貼上操作時,此方法特別有用。 對於涉及多個範圍的複雜操作,請考慮使用程式化解決方案。

剪下和貼上如何用於移動行?

剪下貼上提供了一種簡單的方法來移動行和列,而無需拖放或插入新的行或列。 當您需要在工作表之間移動資料或處理受保護的工作表時,這種方法很有幫助。 請依照下列步驟即可在 Excel 中移動整行或多個相鄰行:

  • 在 Microsoft Excel 中選擇要移動的行或多行。
  • 按 Ctrl+X 剪下選取的行。

! Excel 表格顯示一個包含"名字"、"姓氏"和"學號"列的表格,其中第 3 行(Abdul Salam)以移動的虛線邊框突出顯示,表示已進行剪切操作。
剪切選定行

  • 導航到您想要放置行的位置。
  • 右鍵單擊該行,然後從選單中選擇"插入剪切單元格"。

! Excel電子表格顯示右鍵選單,其中"剪下"、"複製"和"貼上"選項已高亮顯示,示範如何使用貼上功能移動行
從右鍵選單貼上一行

  • 該行貼到新位置,其他行也相應移動。

Excel 表格顯示了最終結果,Abdul Salam 的行已成功移至位置 4,表示剪下貼上操作已完成。
剪貼法的結果

這種方法可以很方便地在 Excel 中移動整行或整列。 您也可以使用相同的方法移動列。 只需選擇列並執行相同的操作即可。 此方法保留與移動行關聯的所有儲存格格式公式資料驗證規則

如何使用 IronXL 在 C# 中以程式方式移動行?

IronXL是一個 .NET C# Excel 函式庫,供開發人員編輯並儲存 Excel 檔案。 它可以幫助開發人員快速建立、編輯和儲存 Excel 文件,而無需安裝 Microsoft Excel。 這使其成為新創環境的理想選擇,因為在新創環境中,您需要部署到AWS雲端服務或在Docker 容器中運行。

IronXL 專為 .NET C# 開發人員設計,可在無需安裝 Microsoft Excel 的情況下編輯和儲存 Excel 檔案。 對於需要在 Linux 伺服器macOS 開發環境中處理 Excel 檔案的 SaaS 應用程式的新創公司來說,這非常有價值。 IronXL 庫包含標準 Microsoft Excel 庫所沒有的功能:

如何在第一個位置新增一行?

以下程式碼用於在 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

這種方法是手動向下移動行,但 IronXL 也提供了使用InsertRow功能的更有效率的方法。 對於涉及多個工作表資料庫資料的複雜場景,IronXL 提供全面的 API 來有效率地處理這些操作。

如何在文件末尾添加行?

這段程式碼將行向下移動,並在文件的第一個位置放置一個新行。 for迴圈會將所有行向下移動,同時在第一個位置新增新的行資料。 您也可以在文件末尾新增行。 這在從 CSV 檔案匯入資料從資料庫追加資料時非常有用。 我們來看看具體方法:

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

這段程式碼會在文件底部新增一行。 有關如何新增行的更多詳細信息,請參閱我們的操作指南頁面。 對於更進階的場景,可以探索一次插入多行使用 DataTables進行批次操作。

新創公司有哪些授權許可選項?

IronXL 提供專為新創公司和小型團隊設計的各種定價方案。 您可以獲得免費試用——IronXL 免費試用無需付款或提供信用卡資訊即可激活,非常適合在購買前評估庫內容。 IronXL 開發是免費的,這意味著您可以建立和測試您的應用程式而無需預先支付任何費用。 請造訪我們的授權許可頁面以了解更多資訊。

對於新創公司而言,授權選項包括可隨業務成長而擴展的靈活方案。 先購買單一開發者許可證,然後隨著團隊的壯大再升級。 該庫支援部署到雲端環境而無需額外費用,因此對於 SaaS 應用程式來說具有成本效益。 準備部署時,透過程式碼或設定檔應用許可證密鑰非常簡單。

高級划船技巧

除了基本的行移動功能外,IronXL 還提供了用於複雜 Excel 操作的高級功能。 您可以合併儲存格套用條件格式以及以程式設計方式建立圖表。 對於資料密集型應用,修剪單元格範圍清除單元格等功能有助於維護乾淨的資料集。

處理大型 Excel 文件時,效能至關重要。 IronXL近期效能提升,處理速度提高了 40 倍,同時記憶體使用量從 19.5 GB 減少到 1 GB 以下,非常適合資源受限的創業環境。 該程式庫能夠優雅地處理檔案大小限制,並為大型資料集提供最佳化技術。

對於建立Blazor 應用程式.NET MAUI 應用程式的新創公司而言,IronXL 可以無縫集成,從而在現代 Web 和行動應用程式中實現 Excel 功能。 該程式庫支援使用 Visual Basic 的團隊的VB.NET ,確保您的技術堆疊具有靈活性。

常見問題解答

如何在 Excel 中以程式方式將一行移至新位置?

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

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

若要在 Excel 中手動移動行,您可以使用拖放方法,方法是選取該行,按住 Shift 鍵,然後將其拖曳到所需位置。或者,也可以使用剪切貼上的方法,按下 Ctrl + X,然後在新位置插入剪下的儲存格。

我可以在不安裝 Excel 的情況下自動操作 Excel 檔案嗎?

是的,IronXL 可讓您在不需要安裝 Microsoft Excel 的情況下,以 C# 程式化的方式建立、編輯和儲存 Excel 檔案,提供無縫的自動化體驗。

如何以程式化的方式在 Excel 工作表的頂端新增一行?

使用 IronXL,您可以使用 C# 程式碼將現有的行向下移動一格,並在第一個位置插入新行,從而在 Excel 表單的頂部實現動態資料輸入。

是否可以使用 C# 在 Excel 工作表的末尾追加新行?

是的,通過確定最後一行的編號,您可以使用 IronXL 在工作表的末尾追加一條新行,方法是使用 C# 程式碼為這條新行設定值。

IronXL 有哪些進階資料處理功能?

IronXL 提供先進的功能,例如資料可視化、驗證和抽取,以及建立互動式圖表和客製化透視表,這些功能都可以透過 C# 程式設計來存取。

IronXL 如何透過免費選項支援開發人員?

IronXL 提供免費試用,並允許開發目的的免費使用,詳細的授權資訊請參閱其官方網站。

Curtis Chau
技術撰稿人

Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。