Excel文档作为一项常用工具,已经成了我们工作中不可或缺的东西。因此在开发中时常需要对excel文档进行读写和修改操作,那我们如何来实现它呢。
下面我以一个2列多行的excel文档为例,对其读取和重写进行说明
Application app = new ApplicationClass();
app.Visible= true;//设置excel操作为可见
Workbook book, web;
Worksheet sheet, sheet2;
Range range;
int row, column;
public void ReadExcelFile(string excelFile,string sheetName)
{
web =app.Workbooks.Open(excelFile);//打开你想要操作的excel文件
SetPathStatus();
SaveAndQuit(excelFile);
//web.Close(false,excelFile, null);
}
public voidSetPathStatus()
{
sheet = (Worksheet)web.Worksheets.get_Item(1);//获取excel中第一列
sheet2 = (Worksheet)web.Worksheets.get_Item(2);//获取excel中的第二列
range = sheet.UsedRange;
(sheet2.Cells[1, 2] as Range).Value2 ="Status";//设置excel中第二列的标题为Status
for(row = 1; row <= range.Rows.Count; row++)
{
string sheetContent = (sheet.Cells[row, 1] as Range).Value2.ToString();//获取第row行中第1列的value
//var hasMnp= File.Exists(Path.Combine(sheetContent,"mnp.config"));
//varhasWeb = File.Exists(Path.Combine(sheetContent, "web.config"));
varstatus=(sheet2.Cells[row, 2]asRange).Value2;//获取第row行中第2列的value
/*while(sheetContent != null&&sheetContent!="")
{
if (hasMnp && hasMnp)
{
status = "MW";
}
else if (hasMnp&& !hasWeb)
{
status = "M";
}
else if (!hasMnp&& hasWeb)
{
status = "W";
}
else
{
status = "Not Found";
}
}
Console.WriteLine(row);*/
}
}
//保存并退出excel文档
public bool SaveAndQuit(stringfileName)
{
try
{
book.SaveAs(fileName);
app.Quit();
app = null;
returntrue;
}
catch
{
returnfalse;
}
}
大家在修改excel中的内容后,千万别忘了保存哦,否则前面修改的内容就不会生效,在开发过程中为了便于我们更好的了解程序的运行状况可以将app.Visible 设为true,这样你运行程序后,系统会自动为你打开excel,并会显示它的执行情况,当你完成程序后,可以再将它的值设为false.这个东西挺有意思的,有兴趣的同学可以去尝试下。