2016-12-20 13 views
-2

У меня есть программа, которая запрашивает имя файла и место, где его можно сохранить с помощью saveFileDialog1. Tho генерирует дополнительный файл из 0 байтов с точно именем name. Тип файла: 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 Да, это то, где im сохраняет его –

+0

В первой строке моего кода я хочу получить путь и имя файла. Поэтому я могу объявить это позже в xlWorkBook.SaveAs –

ответ

0

Это должно происходить в MakeExcelFile(); поскольку xlWorkBook.SaveAs сохраняет только книгу и не создает никаких дополнительных файлов.

Редактировать: попробуйте добавить workbook.close(). xlapp.Close() после сохранения. Вы можете просто сохранить эту книгу открытой ...

Редактировать2: удалить SaveFileDialog и hardcode путь для сохранения файла excel. Посмотрите, сохраняет ли это только один файл.

Edit3: Хм .. должен делать то же самое, но что-то работает дважды. Либо вставьте saveasdialog в свой блок try {} и только сохраните с ним, либо переключитесь на файл folderbrowserdialog и назовите файл в коде.

+0

Я изменил код, и то же самое все еще происходит –

+0

Я пробовал ур редактировать, но это не исправить проблему –

+0

Yup, тогда он сохраняет только один файл –

 Смежные вопросы

  • Нет связанных вопросов^_^