c#操作excel后保存的问题!

maheng1023 2010-10-31 10:57:03
我想通过c#修改excel,然后保存退出,注意是保存,不是另存为,但是我workbook.saveas时,提示说不能操作只读文件,要怎么保存退出啊?我的代码如下所示
Excel.ApplicationClass myExcel = new Excel.ApplicationClass();
Excel.Application App = new Excel.Application();
object missing = Missing.Value;
Excel.Workbooks workBooks = myExcel.Workbooks;
Excel.Workbook myExcelbook = workBooks.Open(parth, missing, false, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
Excel.Sheets sheet = myExcelbook.Worksheets;
Excel.Worksheet workSheet = (Excel.Worksheet)sheet.get_Item("Demand");
for (int i = 1; i <= col; i++)
{
workSheet.Cells[1,i] = headddd[i-1];

}

myExcelbook.SaveAs(parth, missing, missing, missing, false, missing, Excel.XlSaveAsAccessMode.xlExclusive, missing, missing, missing, missing, missing);//在这里出错,提示不能操作只读文件
workSheet.SaveAs(parth,missing,missing,missing,missing,missing,missing,missing,missing,missing);


myExcelbook.Save();
myExcelbook.Saved = true;
myExcelbook.Close(missing, parth, true);

//确保Excel进程关闭
//workSheet = null;
myExcelbook = null;
//myExcel = null;
App.Quit();
App = null;
GC.Collect();


哪位大虾能帮忙解决下啊,谢谢。
...全文
557 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weijiewjml 2011-12-13
  • 打赏
  • 举报
回复
将myExcelbook.SaveAs(parth, missing, missing, missing, false, missing, Excel.XlSaveAsAccessMode.xlExclusive, missing, missing, missing, missing, missing);直接改为myExcelbook.Save();

workSheet.SaveAs(parth,missing,missing,missing,missing,missing,missing,missing,missing,missing);

myExcelbook.Save();
myExcelbook.Saved = true;
myExcelbook.Close(missing, parth, true);都去掉,试试看吧!我就是这么写的!
maheng1023 2010-11-01
  • 打赏
  • 举报
回复
二楼的大虾,你提供的方法还是不行啊,还是在那个位置显示不能访问只读文件。。。
wuyq11 2010-10-31
  • 打赏
  • 举报
回复
删除只读属性
FileAttributes attrs = File.GetAttributes("");
attrs = (FileAttributes)((int)attrs & ~(1));
File.SetAttributes("", attrs);

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧