用编程的方式打开一个Excel,做一些编辑,然后保存。把保存后的结果显示到前台。try
{
ExcelAccess objExcel1 = new ExcelAccess(); //ExcelAccess是我自己的Excel操作基类
objExcel1.OpenExcelFile(TextBox1.Text); //打开Excel文件
...
objExcel1.Save(); //保存
Process.Start("编辑后Excel文件路径") //这个地方不明白,这句话是重新开一个Excel进程了吧
}
catch()
{
....
}
finnally
{
objExcel1.Close(); //执行这句出异常,我想上面都重新开进程了,不应该影响我关Excel操作类的对象吧
objExcel1.ExitApplication();
}
求高手看看应该怎么改
{
ExcelAccess objExcel1 = new ExcelAccess(); //ExcelAccess是我自己的Excel操作基类
objExcel1.OpenExcelFile(TextBox1.Text); //打开Excel文件
...
objExcel1.Save(); //保存
Process.Start("编辑后Excel文件路径") //这个地方不明白,这句话是重新开一个Excel进程了吧
}
catch()
{
....
}
finnally
{
objExcel1.Close(); //执行这句出异常,我想上面都重新开进程了,不应该影响我关Excel操作类的对象吧
objExcel1.ExitApplication();
}
求高手看看应该怎么改
{
ExcelAccess objExcel1 = new ExcelAccess(); //ExcelAccess是我自己的Excel操作基类
objExcel1.OpenExcelFile(TextBox1.Text); //打开Excel文件
...
objExcel1.Save();
objExcel1.Close(); //执行这句出异常,我想上面都重新开进程了,不应该影响我关Excel操作类的对象吧
objExcel1.ExitApplication(); //保存
Process.Start("编辑后Excel文件路径") //这个地方不明白,这句话是重新开一个Excel进程了吧
}
catch()
{
....
}
先关闭 在打开新的文档
ExcelAccess objExcel1 = new ExcelAccess(); //ExcelAccess是我自己的Excel操作基类
那objExcel1还没有正确赋值,finally中就不能调用它的方法啦。
应该加上检查此变量是否为空。
{
ExcelAccess objExcel1 = new ExcelAccess(); //ExcelAccess是我自己的Excel操作基类
objExcel1.OpenExcelFile(TextBox1.Text); //打开Excel文件
...
objExcel1.Save(); //保存
Process p= Process.Start("编辑后Excel文件路径"); //这个地方不明白,这句话是重新开一个
Excel进程了吧
}
catch()
{
....
}
finnally
{
try{
p.Kill();
objExcel1.Close(); //执行这句出异常,我想上面都重新开进程了,不应该影响我关Excel操作类的对象吧
objExcel1.ExitApplication();
}catch{}
}
那你就别关嘛,反正你也知道ExcelAccess进程调用的进程就是你新打开的那个进程(要不然不会一起关掉的),你前台显示后,由用户自己关闭