2013-04-23 62 views
0

我有以下代碼將文件保存在給定用戶機器的默認Excel版本中。SaveFileDialog文件擴展名是默認Excel版本

xlWorkBook.SaveAs("c:\\AMORT_data", Excel.XlFileFormat.xlWorkbookDefault, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); 

如何使用SaveFiledialog(特別是.filter)格式使用此語法?我嘗試了這樣的東西,但我得到了舊的「不能同時轉換....」的錯誤。這僅僅是將Excel Default轉換爲字符串或更復雜的問題。

saveFileDialog1.Filter = Excel.XlFileFormat.xlWorkbookDefault; 

回答

0

你試過下面的以下內容:

saveFileDialog1.Filter = "Excel file|*.xls"; 

這應該限制文件在saveFileDialog中顯示爲.xls文件。從saveFileDialog打開和保存文件的整個示例可以看到here

請注意,SaveFileDialog不負責保存文件本身。它只是顯示你將在哪裏保存你的文件。爲了確保您保存的文件是一個excel文件,您可以在保存之前檢查文件擴展名,以便通知用戶使用正確的格式。

+0

它不限制您使用該擴展名保存文件。它只是限制列表中顯示的現有文件。但是你是對的,你需要用這種方式來格式化你爲'Filter'指定的字符串。 – 2013-04-23 04:24:53

+0

更新了我的答案,以澄清過濾器選項的作用。 – 2013-04-23 04:33:18

+0

是的,我想我可以通過鍵入.xls和.xlsx文件類型手動限制它,但是我永遠不知道微軟何時會創建另一種類型。我試圖強制它通過默認選項,因爲這是在我之前的代碼中工作的,我將它保存到預定位置。 – 2013-04-23 13:16:47