C#实现的Excel文件操作类实例
概述
在C#开发中,操作Excel文件是很常见的需求,为了方便Excel文件的操作,可以自己编写Excel文件操作类。
实现步骤
1. 安装EPPlus插件
EPPlus是一个用于操作Excel文件的库,可以使用NuGet安装。在Visual Studio中打开NuGet包管理器,搜索EPPlus安装即可。
2. 创建Excel操作类
首先,需要创建一个Excel操作类,命名为ExcelHelper。
using OfficeOpenXml;
using System.IO;
public class ExcelHelper
{
private ExcelPackage package;
private ExcelWorkbook workbook;
private ExcelWorksheet worksheet;
/// <summary>
/// 读取指定路径的Excel文件,并选择指定的工作表
/// </summary>
/// <param name="path">Excel文件路径</param>
/// <param name="sheetIndex">工作表索引</param>
public void Open(string path, int sheetIndex)
{
var fileInfo = new FileInfo(path);
package = new ExcelPackage(fileInfo);
workbook = package.Workbook;
worksheet = workbook.Worksheets[sheetIndex];
}
/// <summary>
/// 获取指定单元格的值
/// </summary>
/// <param name="rowIndex">行索引</param>
/// <param name="colIndex">列索引</param>
/// <returns>单元格的值</returns>
public string GetCellValue(int rowIndex, int colIndex)
{
return worksheet.Cells[rowIndex, colIndex].Value.ToString();
}
/// <summary>
/// 获取指定行指定列到最后一列之间的所有值
/// </summary>
/// <param name="rowIndex">行索引</param>
/// <param name="colIndex">起始列索引</param>
/// <returns>指定行指定列到最后一列之间的所有值</returns>
public List<string> GetRowValues(int rowIndex, int colIndex)
{
var values = new List<string>();
while (worksheet.Cells[rowIndex, colIndex].Value != null)
{
string value = worksheet.Cells[rowIndex, colIndex].Value.ToString();
values.Add(value);
colIndex++;
}
return values;
}
/// <summary>
/// 关闭Excel文件
/// </summary>
public void Close()
{
package.Dispose();
}
}
3. 使用Excel操作类读取Excel文件
可以通过使用ExcelHelper类来读取Excel文件的指定单元格的值,或者获取指定行指定列到最后一列之间的所有值。
下面为示例代码:
var excelHelper = new ExcelHelper();
excelHelper.Open(@"D:\example.xlsx", 1); //选择Excel文件中第二个工作表
string value = excelHelper.GetCellValue(1, 1); //读取第一行第一列单元格的值
List<string> rowValues = excelHelper.GetRowValues(1, 1); //读取第一行第一列到最后一列之间的所有值
excelHelper.Close();
至此,就完成了通过C#实现Excel文件操作类的过程。
示例说明
示例一
在以下示例中,我们将通过ExcelHelper类获取指定Excel文件的第二个工作表中第一行第二个单元格的值,然后在控制台中输出该值。
var excelHelper = new ExcelHelper();
excelHelper.Open(@"D:\example.xlsx", 1); //选择Excel文件中第二个工作表
string value = excelHelper.GetCellValue(1, 2); //读取第一行第二列单元格的值
Console.WriteLine(value); //输出单元格的值
excelHelper.Close();
示例二
在以下示例中,我们将通过ExcelHelper类获取指定Excel文件的第二个工作表中第二行从第二列开始的所有值,然后在控制台中输出这些值。
var excelHelper = new ExcelHelper();
excelHelper.Open(@"D:\example.xlsx", 1); //选择Excel文件中第二个工作表
List<string> rowValues = excelHelper.GetRowValues(2, 2);
foreach (string value in rowValues)
{
Console.WriteLine(value);
}
excelHelper.Close();
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现的Excel文件操作类实例 - Python技术站