我想通过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();
哪位大虾能帮忙解决下啊,谢谢。

解决方案 »

  1.   

    删除只读属性
    FileAttributes attrs = File.GetAttributes(""); 
    attrs = (FileAttributes)((int)attrs & ~(1)); 
    File.SetAttributes("", attrs); 
      

  2.   

    将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);都去掉,试试看吧!我就是这么写的!