C# Excel Add in (代码示例教程)
在开发应用程序时,您需要能够在不使用 Excel 电子表格的情况下管理数据,但仍能与文件进行通信。例如,您可能需要以编程方式在现有 Excel 电子表格中插入新行或新列。使用 C# 中的总括概念 "Excel.Add "函数,我们就可以在现有 Excel 电子表格中插入新行或新列:添加 "的函数,我们可以添加所有这些内容,甚至更多。请看下面的示例。
如何在 C# 中使用 Excel Add
- 下载并安装 Excel Add C# 库
- 用 C# 在现有 Excel 电子表格中添加新行和新列
- 插入行至最后和第一个位置
- 利用 C# 函数添加列
- 将各种类型的完整 Excel 文件导出到所需位置
步骤 1
1.下载 IronXL Excel 库
要访问 Excel 中添加行和列的函数,我们首先需要下载 IronXL Excel 库。该库可在您的项目中免费开发。 直接下载 DLL 或使用 NuGet 安装方法.
Install-Package IronXL.Excel
教程
2.Excel 在 C&num 中添加行;
既然我们已经安装了 IronXL,那么使用 C# 编程在现有 Excel 电子表格中插入新行和新列就很容易了。
首先,访问 Excel 电子表格并指定需要添加新行或新列的工作表。
2.1.在最后一个位置添加行
在第一个示例中,我们将演示如何在最后一个位置添加新行。
假设 Excel 文件名为 sample.xlsx
,有从 A
到 E
的 5
列。使用以下方法我们可以添加新行:
/**
Add Row Last Position
anchor-add-row-in-last-position
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
int i = ws.Rows.Count() + 1;
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";
wb.SaveAs("sample.xlsx");
}
/**
Add Row Last Position
anchor-add-row-in-last-position
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
int i = ws.Rows.Count() + 1;
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";
wb.SaveAs("sample.xlsx");
}
'''
'''Add Row Last Position
'''anchor-add-row-in-last-position
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
Dim i As Integer = ws.Rows.Count() + 1
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"
wb.SaveAs("sample.xlsx")
End Sub
这将在 Excel 电子表格 sample.xlsx
的最后一个位置创建新行,其值为 New Row
。
2.2.在第一位置添加行
在 Excel 电子表格的第一个位置添加新行也非常简单。
为此,我们首先要将所有现有行移动到下一行,这样第一行的位置就可以用来添加新行了。
让我们看看如何在 Excel 电子表格的第一个位置添加新行的示例。
/**
Add Row First Position
anchor-add-row-in-first-position
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
int j = ws.Rows.Count() + 1;
for (int i = 1; i <= ws.Rows.Count(); i++)
{
if (j == 0)
{
ws.Rows [0].Value = "new row";
break;
};
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;
j = j - 1;
}
wb.SaveAs("sample.xlsx");
}
/**
Add Row First Position
anchor-add-row-in-first-position
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
int j = ws.Rows.Count() + 1;
for (int i = 1; i <= ws.Rows.Count(); i++)
{
if (j == 0)
{
ws.Rows [0].Value = "new row";
break;
};
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;
j = j - 1;
}
wb.SaveAs("sample.xlsx");
}
'''
'''Add Row First Position
'''anchor-add-row-in-first-position
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
Dim j As Integer = ws.Rows.Count() + 1
For i As Integer = 1 To ws.Rows.Count()
If j = 0 Then
ws.Rows (0).Value = "new row"
Exit For
End If
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
j = j - 1
Next i
wb.SaveAs("sample.xlsx")
End Sub
让我们比较一下上述代码在我们的 sample.xlsx
文档中所做的更改。
之前 之后
:---: :-----:
在这里我们可以看到,之前的sample.xlsx
文件有10
行。在第一个位置添加新行后,它11
变成了 11 行。
2.3.在第一行中添加行标题和列标题
如果我们将第一列作为列头名称,那么就可以在第 0 行更改循环中断条件,并在第 1 位添加新行。
3.Excel 在 C&num 中添加列;
在现有 Excel 电子表格中为我们的 C# 项目添加新列。
假设在名为 sample.xlsx
的 Excel 电子表格中从 A 到 E 有 5 列,我们想在第一列 A 中添加新列。
/**
Add Column
anchor-excel-add-column-in-c-num
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 1; i <= ws.Rows.Count(); i++)
{
ws ["F" + i].Value = ws ["E" + i].Value;
ws ["E" + i].Value = ws ["D" + i].Value;
ws ["D" + i].Value = ws ["C" + i].Value;
ws ["C" + i].Value = ws ["B" + i].Value;
ws ["B" + i].Value = ws ["A" + i].Value;
ws ["A" + i].Value = "New Column Added";
}
wb.SaveAs("sample.xlsx");
}
/**
Add Column
anchor-excel-add-column-in-c-num
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 1; i <= ws.Rows.Count(); i++)
{
ws ["F" + i].Value = ws ["E" + i].Value;
ws ["E" + i].Value = ws ["D" + i].Value;
ws ["D" + i].Value = ws ["C" + i].Value;
ws ["C" + i].Value = ws ["B" + i].Value;
ws ["B" + i].Value = ws ["A" + i].Value;
ws ["A" + i].Value = "New Column Added";
}
wb.SaveAs("sample.xlsx");
}
'''
'''Add Column
'''anchor-excel-add-column-in-c-num
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
For i As Integer = 1 To ws.Rows.Count()
ws ("F" & i).Value = ws ("E" & i).Value
ws ("E" & i).Value = ws ("D" & i).Value
ws ("D" & i).Value = ws ("C" & i).Value
ws ("C" & i).Value = ws ("B" & i).Value
ws ("B" & i).Value = ws ("A" & i).Value
ws ("A" & i).Value = "New Column Added"
Next i
wb.SaveAs("sample.xlsx")
End Sub
让我们查看上述代码在 sample.xlsx
中所做的更改:
之前 之后
:---: :-----:
我们可以看到,在第一个位置 A 增加了新列,其他列被推后,因此现在从 A 到 F 共有 6 列。
图书馆快速访问