C#编辑Excel文件
开发人员在使用C#修改和编辑Excel文件时必须小心,因为一个小错误就可能改变整个文档。 能够依靠简单高效的代码行有助于降低错误风险,也使我们能够更容易地以编程方式编辑或删除Excel文件。 今天我们将通过使用经过测试的功能,正确且快速地介绍在C#中编辑Excel文件的必要步骤。
如何用 C# 编辑 Excel 文件
- 下载 C# 编辑 Excel 库
- 编辑特定单元格值
- 用静态值编辑 Excel 电子表格的整行值
- 用单一数值编辑 Excel 电子表格的整列数值
- 用动态值编辑整行
- 替换电子表格值
- 从 Excel 工作表中删除行
- 从 Excel 文件中删除工作表
步骤 1
1. 使用 IronXL 库编辑 C# Excel 文件
在本教程中,我们将使用由IronXL定义的函数,这是一个C# Excel库。 要使用这些功能,您需要先下载并安装到您的项目中。(免费开发).
您可以选择 下载 IronXL.zip 或通过 NuGet 软件包页面.
安装完成后,让我们开始吧。!
Install-Package IronXL.Excel
教程
2. 编辑特定单元格的值
首先,我们将探讨如何编辑Excel电子表格的特定单元格值。
为此,我们导入要修改的Excel电子表格,然后访问其工作表。 然后我们可以按照下面的显示应用修改。
/**
Import and Edit SpreadSheet
anchor-edit-specific-cell-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");//import Excel SpreadSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");//access specific workshet
ws.Rows [3].Columns [1].Value = "New Value";//access specific cell and modify its value
wb.SaveAs("sample.xlsx");//save changes
}
/**
Import and Edit SpreadSheet
anchor-edit-specific-cell-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");//import Excel SpreadSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");//access specific workshet
ws.Rows [3].Columns [1].Value = "New Value";//access specific cell and modify its value
wb.SaveAs("sample.xlsx");//save changes
}
'''
'''Import and Edit SpreadSheet
'''anchor-edit-specific-cell-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'import Excel SpreadSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'access specific workshet
ws.Rows (3).Columns (1).Value = "New Value" 'access specific cell and modify its value
wb.SaveAs("sample.xlsx") 'save changes
End Sub
Here are before and after screenshots of Excel SpreadSheet sample.xlsx
:
Before After
:---: :-----:
We can see how simple it is to modify the Excel SpreadSheet value. If needed, there is also an alternative way to edit the specific cell value by cell address:
ws ["B4"].Value = "New Value"; //alternative way to access specific cell and apply changes
ws ["B4"].Value = "New Value"; //alternative way to access specific cell and apply changes
ws ("B4").Value = "New Value" 'alternative way to access specific cell and apply changes
3. 编辑整行值
使用静态值编辑Excel电子表格的整行值非常简单。
/**
Edit Full Row Values
anchor-edit-full-row-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Rows [3].Value = "New Value";
wb.SaveAs("sample.xlsx");
}
/**
Edit Full Row Values
anchor-edit-full-row-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Rows [3].Value = "New Value";
wb.SaveAs("sample.xlsx");
}
'''
'''Edit Full Row Values
'''anchor-edit-full-row-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
ws.Rows (3).Value = "New Value"
wb.SaveAs("sample.xlsx")
End Sub
查看下面的 sample.xlsx
屏幕截图:
之前 之后
:---: :-----:
为此,我们还可以使用range函数编辑特定行范围的值:
ws ["A3:E3"].Value = "New Value";
ws ["A3:E3"].Value = "New Value";
ws ("A3:E3").Value = "New Value"
4. 编辑整列值
与上面相同的方式,我们可以轻松地使用单个值编辑Excel电子表格的完整列。
/**
Edit Full Column Values
anchor-edit-full-column-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Columns [1].Value = "New Value";
wb.SaveAs("sample.xlsx");
}
/**
Edit Full Column Values
anchor-edit-full-column-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Columns [1].Value = "New Value";
wb.SaveAs("sample.xlsx");
}
'''
'''Edit Full Column Values
'''anchor-edit-full-column-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
ws.Columns (1).Value = "New Value"
wb.SaveAs("sample.xlsx")
End Sub
哪个将生成我们的sample.xlsx
电子表格,如下所示:
之前 之后
:---: :-----:
5. 使用动态值编辑整行
使用IronXL,还可以使用动态值编辑特定行。 这意味着我们可以通过为每个单元格分配动态值来编辑整行。 让我们看一个例子:
/**
Edit Row Dynamic Values
anchor-edit-full-row-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Columns.Count(); i++)
{
ws.Rows [3].Columns [i].Value = "New Value "+i.ToString();
}
wb.SaveAs("sample.xlsx");
}
/**
Edit Row Dynamic Values
anchor-edit-full-row-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Columns.Count(); i++)
{
ws.Rows [3].Columns [i].Value = "New Value "+i.ToString();
}
wb.SaveAs("sample.xlsx");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
在下表中,我们可以看到Excel电子表格sample.xlsx
的截图输出:
之前 之后
:---: :-----:
6. 使用动态值编辑整列
编辑具有动态值的特定列也很简单。
/**
Edit Column Dynamic Values
anchor-edit-full-column-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Rows.Count(); i++)
{
if (i == 0)//it is for if our first column is used as a header
continue;
ws.Rows [i].Columns [1].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
}
/**
Edit Column Dynamic Values
anchor-edit-full-column-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
for (int i = 0; i < ws.Rows.Count(); i++)
{
if (i == 0)//it is for if our first column is used as a header
continue;
ws.Rows [i].Columns [1].Value = "New Value " + i.ToString();
}
wb.SaveAs("sample.xlsx");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
与下面的sample.xlsx
表结果:
之前 之后
:---: :-----:
7. 替换电子表格值
如果我们想要在Excel电子表格中用更新的值替换任何类型的值,我们可以使用名为Replace
的函数。 使用此功能,我们可以在任何需要的情况下替换Excel电子表格的数据。
7.1. 替换整个工作表的特定值
要将完整Excel工作表中的特定值替换为更新的值,我们只需访问工作表ws
(与上述例子相同)并像这样应用 Replace
功能。
/**
Replace Cell Values
anchor-replace-specific-value-of-complete-worksheet
**/
ws.Replace("old value", "new value");
/**
Replace Cell Values
anchor-replace-specific-value-of-complete-worksheet
**/
ws.Replace("old value", "new value");
'''
'''Replace Cell Values
'''anchor-replace-specific-value-of-complete-worksheet
'''*
ws.Replace("old value", "new value")
此函数将在完整的Excel工作表中将old value
替换为new value
。
不要忘记在更改文件后保存,如上面的例子所示。
7.2 替换特定行的值
如果您只想更改特定行而不是整个工作表的其余部分,请使用此代码。
ws.Rows [2].Replace("old value", "new value");
ws.Rows [2].Replace("old value", "new value");
ws.Rows (2).Replace("old value", "new value")
上述代码将仅在第2
行将old value
替换为new value
。 工作表的其他部分保持不变。
7.3 替换行范围的值
我们也可以按如下方式替换特定范围内的值:
ws ["From Cell Address : To Cell Address"].Replace("old value", "new value");
ws ["From Cell Address : To Cell Address"].Replace("old value", "new value");
ws ("From Cell Address : To Cell Address").Replace("old value", "new value")
假设我们想用新值替换旧值,替换的范围是行号 4
的 B4
至 E4
之间,那么我们可以这样写:
ws ["B4:E4"].Replace("old value", "new value");
ws ["B4:E4"].Replace("old value", "new value");
ws ("B4:E4").Replace("old value", "new value")
7.4. 替换特定列的值
我们还可以替换特定列的值,而工作表的其他部分保持不变。
ws.Columns [1].Replace("old value", "new Value")
ws.Columns [1].Replace("old value", "new Value")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'ws.Columns [1].Replace("old value", "new Value")
上述代码将用 "新值 "替换列号 "1 "的 "旧值"。
7.5. 替换列范围的值
通过以下方式,我们也可以使用range函数在特定列的范围内进行替换。
ws ["B5:B10"].Replace("old value", "new value");
ws ["B5:B10"].Replace("old value", "new value");
ws ("B5:B10").Replace("old value", "new value")
上述代码将用新值
替换B
列中B5
至B10
范围内的旧值
。
从Excel工作表中删除行
IronXL 提供了一个非常简单的功能,用于删除 Excel 工作表中的特定行。 让我们来看一个例子。
/**
Remove Row
anchor-remove-row-from-excel-worksheet
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Rows [3].RemoveRow();
wb.SaveAs("sample.xlsx");
}
/**
Remove Row
anchor-remove-row-from-excel-worksheet
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
ws.Rows [3].RemoveRow();
wb.SaveAs("sample.xlsx");
}
'''
'''Remove Row
'''anchor-remove-row-from-excel-worksheet
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
ws.Rows (3).RemoveRow()
wb.SaveAs("sample.xlsx")
End Sub
上述代码将删除 sample.xlsx
中的第3行,如下表所示:
之前 之后
:---: :-----:
9. 从Excel文件中删除工作表
如果我们想删除 Excel 文件中的一个完整工作表,我们可以使用以下方法:
/**
Remove Worksheet from File
anchor-remove-worksheet-from-excel-file
**/
wb.RemoveWorkSheet(1); // by sheet indexing
/**
Remove Worksheet from File
anchor-remove-worksheet-from-excel-file
**/
wb.RemoveWorkSheet(1); // by sheet indexing
'''
'''Remove Worksheet from File
'''anchor-remove-worksheet-from-excel-file
'''*
wb.RemoveWorkSheet(1) ' by sheet indexing
wb
是工作簿,与上述示例中的工作簿相同。 如果我们想要按名称删除工作表,则:
wb.RemoveWorkSheet("Sheet1"); //by sheet name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
wb.RemoveWorkSheet("Sheet1") 'by sheet name
IronXL 拥有许多功能,我们可以轻松地在 Excel 电子表格中执行任何类型的编辑和删除操作。 如果您在项目中有任何疑问,请联系我们的开发团队。
图书馆快速访问