今天分享一些C#编程如何操作Excel文件。你可能会想,“Excel?这不是用来做表格的吗?”
是的,没错!Excel确实是一个用于处理表格数据的工具,但你知道吗?我们也可以用C#来控制它!你可能会问:“为什么要用C#来控制Excel呢?”好问题!想象一下,你有一个超级复杂的Excel文件,里面有成千上万条数据,你需要对这些数据进行分析、处理或者导出成其他格式。手动去做这些操作是相当费时费力的,但如果我们能够编写一些C#代码,让计算机帮我们自动完成这些任务,岂不是省事多了?
所以今天,我想和你分享一些简单易懂的C#代码,让你能够轻松地读取、编辑、保存甚至删除Excel文件。无论你是刚刚开始学习编程,还是已经有一些经验,这些代码都会对你有所帮助。让我们一起来看看吧!
不要担心,我会尽量用最简单的语言来解释代码,让你能够轻松理解。如果你有任何问题,都可以随时在评论区留言,我会尽快回复的!
让我们开始吧! 🚀
如果下面代码对你有用,请点个赞给点支持蟹蟹。
using System;
using System.Data;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
namespace ExcelOperations
{
public class ExcelHelper
{
private Excel.Application excelApp;
private Excel.Workbook workbook;
private Excel.Worksheet worksheet;
// 初始化Excel应用程序
public void InitializeExcel()
{
excelApp = new Excel.Application();
excelApp.Visible = false; // 不显示Excel界面
workbook = excelApp.Workbooks.Add();
worksheet = workbook.ActiveSheet;
}
// 从Excel文件加载数据到DataTable
public DataTable ReadExcel(string filePath)
{
DataTable dataTable = new DataTable();
try
{
if (File.Exists(filePath))
{
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(filePath);
Excel.Worksheet excelWorksheet = excelWorkbook.Sheets[1];
Excel.Range excelRange = excelWorksheet.UsedRange;
int rows = excelRange.Rows.Count;
int columns = excelRange.Columns.Count;
for (int i = 1; i <= columns; i++)
{
dataTable.Columns.Add($"Column {i}");
}
for (int i = 1; i <= rows; i++)
{
DataRow newRow = dataTable.NewRow();
for (int j = 1; j <= columns; j++)
{
newRow[j - 1] = excelRange.Cells[i, j].Value;
}
dataTable.Rows.Add(newRow);
}
excelWorkbook.Close(false);
}
else
{
throw new FileNotFoundException("File not found.", filePath);
}
}
catch (Exception ex)
{
// 处理异常
Console.WriteLine("Error reading Excel file: " + ex.Message);
}
return dataTable;
}
// 编辑Excel中的数据
public void EditExcelData(int rowIndex, int columnIndex, string newValue)
{
worksheet.Cells[rowIndex, columnIndex] = newValue;
}
// 保存Excel文件
public void SaveExcel(string filePath)
{
workbook.SaveAs(filePath);
}
// 关闭Excel应用程序
public void CloseExcel()
{
workbook.Close();
excelApp.Quit();
}
// 删除Excel文件
public void DeleteExcel(string filePath)
{
if (File.Exists(filePath))
{
File.Delete(filePath);
}
}
}
}
这里是每个函数的示例使用方法:
using System;
using System.Data;
namespace ExcelOperations
{
class Program
{
static void Main(string[] args)
{
ExcelHelper excelHelper = new ExcelHelper();
string filePath = "sample.xlsx"; // Excel文件路径
// 初始化Excel应用程序
excelHelper.InitializeExcel();
// 示例:读取Excel文件到DataTable
DataTable dataTable = excelHelper.ReadExcel(filePath);
// 打印DataTable中的数据
foreach (DataRow row in dataTable.Rows)
{
foreach (var item in row.ItemArray)
{
Console.Write(item + "\t");
}
Console.WriteLine();
}
// 示例:编辑Excel中的数据
excelHelper.EditExcelData(2, 2, "Updated Value");
// 示例:保存Excel文件
excelHelper.SaveExcel(filePath);
// 示例:关闭Excel应用程序
excelHelper.CloseExcel();
// 示例:删除Excel文件
excelHelper.DeleteExcel(filePath);
}
}
}
这个示例展示了如何使用ExcelHelper类来读取、编辑、保存和删除Excel文件。