2016-12-20 63 views
-2

我收到一個程序,要求輸入文件名並將其保存到saveFileDialog1。它會生成一個包含0個字節的額外文件,其名稱完全相同。文件類型是File,當我打開它時,它告訴我它不存在。我可以在我的Recent files中看到這個文件,但無法在我保存文件的地方找到它。這是我的代碼:程序每次保存文件時都會創建一個重複文件

private void MaakExcelFile() 
    { 
     SaveFileDialog saveFileDialog1 = new SaveFileDialog(); 
     if (saveFileDialog1.ShowDialog() == DialogResult.OK) 
     { 
      //string zonderspecialchars = RemoveSpecialCharacters(saveFileDialog1.FileName); 
      copyAlltoClipboard(); 
      Microsoft.Office.Interop.Excel.Application xlexcel; 
      Microsoft.Office.Interop.Excel.Workbook xlWorkBook; 
      Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; 
      object misValue = System.Reflection.Missing.Value; 
      xlexcel = new Microsoft.Office.Interop.Excel.Application(); 
      xlexcel.Visible = true; 
      xlWorkBook = xlexcel.Workbooks.Add(); 
      xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 
      Microsoft.Office.Interop.Excel.Range CR = (Microsoft.Office.Interop.Excel.Range)xlWorkSheet.Cells[1, 1]; 
      CR.Select(); 
      xlWorkSheet.PasteSpecial(CR, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, true); 
      // string zonderspecialchars = RemoveSpecialCharacters(filenaam); 
      try 
      { 
       xlWorkBook.SaveAs(@"" + saveFileDialog1.FileName, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 
      } 
      catch (Exception e) 
      { throw e; } 
     } 
    } 

任何人都知道爲什麼會發生這種情況? 這是我最近的文件的樣子:http://imgur.com/a/1fjLY

+4

你也許還在'MaakExcelFile()'函數內創建/保存文件? –

+0

@ MathiasR.Jessen是的,就是在那裏保存它 –

+0

在我的代碼的第一行,我只想獲取路徑和文件名。因此,我可以稍後在xlWorkBook.SaveAs –

回答

0

它必須發生在MakeExcelFile();因爲xlWorkBook.SaveAs只會保存工作簿並且不會創建任何其他文件。

編輯:嘗試添加workbook.close()。 saveas後xlapp.Close()。您可能只是保持該工作簿打開...

編輯2:刪除您的SaveFileDialog並硬編碼保存Excel文件的路徑。看看這是否只保存一個文件。

編輯3:嗯..應該這樣做同樣的事情,但東西運行兩次。將saveasdialog嵌入到您的try {}塊中,並且只保存它,或者切換到folderbrowserdialog並在代碼中命名該文件。

+0

我改變了代碼,並仍然發生 –

+0

我試過你的編輯,但這沒有解決問題 –

+0

是的,那麼它只保存一個文件 –

相關問題