3

コードでパスとファイル名を通知せずに、Excel ファイルを作成して保存する必要があります。そのため、savefiledialog を使用して保存ボックスを表示し、パスとファイル名を入力できますが、正しく使用できません。worksheet.saveas を使用しようとしましたが、このクラスでは、パスとファイル名を入力するための保存ボックスが表示されません。その保存ボックスでExcelファイルを保存するにはどうすればよいですか?

4

1 に答える 1

6

その基本的なメカニズムは次のとおりです。

public void SaveExcelWorkBook()
{
   OpenFileDialog openDlg = new OpenFileDialog();
   openDlg.InitialDirectory = @"C:\";
   openDlg.ShowDialog();
   string path = openDlg.FileName;

   if (openDlg.ShowDialog() == DialogResult.OK)
   {
      try
      {
         Application excelApp = new Application();
         Workbook workBook = excelApp.Workbooks.Open(path);
         Worksheet workSheet = (Worksheet)workBook.Worksheets[1];

         // Do your work here inbetween the declaration of your workbook/worksheet  
         // and the save action below.

         workBook.SaveAs(/*path to save it to*/);  // NOTE: You can use 'Save()' or 'SaveAs()'
         workBook.Close(); 
      }

      catch (Exception ex)
      {
      }
   }
}

Interop オブジェクトは管理されていないことにも言及する必要があると思います.Close()。次に例を示します。

Marshal.ReleaseComObject(workBook);

Excel を使用するための 2 つの素晴らしいチュートリアルがここここにあります。幸運を!

于 2013-11-06T22:34:28.547 に答える