在C#中使用savefiledialog类保存excel文件

我需要创build并保存一个Excel文件,而不通知代码中的path和文件名。 所以我可以使用savefiledialog来显示保存框来inputpath和文件名,但我不能正确使用它。 我试图使用worksheet.saveas,但是这个类没有显示保存框来inputpath和文件名。 我怎样才能保存与该保存框的Excel文件?

它的基本机制是这样的:

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) { } } } 

我想我也应该提到互操作对象是非托pipe的,所以在调用.Close()之后,您将需要确保释放它们。 这里是一个例子:

 Marshal.ReleaseComObject(workBook); 

在这里和这里使用Excel有两个奇妙的教程。 祝你好运!