2017-05-17 10 views
0

C#を使用してプログラムブックに保存しようとしていますが、変更内容は保存されません。現在、Saveメソッドを使用しています。同じ名前の新しいファイルを作成せずに、既存のファイル(SaveAs)を置き換えずに、ファイルを同じ場所に保存したいからです。ここでC#:編集したExcelブックをプログラムで保存する

は、これは私がメインクラスで実行する方法方法である

public void Test() 
{ 
    Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); 

    if (xlApp == null) 
    { 
     Console.WriteLine("Excel is not properly installed"); 
     return; 
    } 

    Excel.Workbook xlWorkBook; 
    Excel.Worksheet xlWorkSheet; 
    object misValue = System.Reflection.Missing.Value; 

    xlWorkBook = xlApp.Workbooks.Add(misValue); 
    this.xlApp.Workbooks.Open(workbookPath); 
    xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 

    int col = 1; 
    for (int i = 1; i < intVal.Count; i++) 
    { 
     xlWorkSheet.Cells[col, i] = "TEST"; 
    } 

    Console.WriteLine(this.xlApp.ActiveWorkbook.FullName); 

    this.xlApp.ActiveWorkbook.Save(); 
    //xlWorkBook.SaveAs(workbookPath, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); 
    //this.xlApp.ActiveWorkbook.Close(false, misValue, misValue); 
    //xlApp.Quit(); 

    Marshal.ReleaseComObject(xlWorkSheet); 
    Marshal.ReleaseComObject(xlWorkBook); 
    Marshal.ReleaseComObject(xlApp); 
    //this.xlApp.ActiveWorkbook.Close(false, misValue, misValue); 
} 

、私は現在の実験をしています私のコードです。

+0

'xlApp.Application.Visible = true;' save'コールの直後に新しいコード行を追加して、実際に何かを変更しているかどうかを確認してください。 btw、 'intVal.Count'の値は何ですか?この行は 'xlWorkSheet.Cells [col、i] =" TEST ";'実行しますか? –

+0

this.xlApp.ActiveWorkbookはxlWorkBookと同じですか? – EpicKip

+0

あなたは何かを保存しているように見えるので、あなたは編集しています。 – EpicKip

答えて

0
xlApp = new Microsoft.Office.Interop.Excel.Application(); 
      System.Threading.Thread.Sleep(2000); 

      xlWorkBook = xlApp.Workbooks.Open(workbookPath); 
      xlSheets = xlWorkBook.Worksheets; 
      xlWorkSheet = (Excel.Worksheet)xlSheets.get_Item(1); 

私は私の問題を解決しました。最初の問題は、範囲外の変数であるthis.xlAppを使用したことでした。 2番目の問題は、xlWorkBookにワークブックを割り当てていないことでした。助けてくれてありがとう:)

関連する問題