Winforms 在.NET中,如何以编程方式更改生成文档的“另存为”文件类型和目标?

Winforms 在.NET中,如何以编程方式更改生成文档的“另存为”文件类型和目标?,winforms,documents,Winforms,Documents,我们有一个WinForms应用程序,其中我们以编程方式生成文件,并在使用该类型的默认应用程序打开文件之前将其保存在用户的临时文件夹中 如果用户单击“另存为”,然后没有选择其他目标,则保存的文件将最终保存在其临时文件夹中 更糟糕的是,我们将电子表格生成为CSV文件,将Word文档生成为XML,因此,除非他们也更改文件类型,否则最终会在错误的位置生成错误类型的文件,因此再也找不到它 理想情况下,我们希望预先设置目标类型和目标文件夹,以便在它们另存为时将其选中 这是可能的,还是我们需要一种完全不同的文

我们有一个WinForms应用程序,其中我们以编程方式生成文件,并在使用该类型的默认应用程序打开文件之前将其保存在用户的临时文件夹中

如果用户单击“另存为”,然后没有选择其他目标,则保存的文件将最终保存在其临时文件夹中

更糟糕的是,我们将电子表格生成为CSV文件,将Word文档生成为XML,因此,除非他们也更改文件类型,否则最终会在错误的位置生成错误类型的文件,因此再也找不到它

理想情况下,我们希望预先设置目标类型和目标文件夹,以便在它们另存为时将其选中

这是可能的,还是我们需要一种完全不同的文档生成方法?可以想象,生成CSV和XML非常方便,本地文档格式就更少了

编辑

当然,我知道XLSX文件与CSV文件不同。我们生成CSV,然后让Excel打开它们,如TS所述

我想实现的是,Excel默认提供XLS或XLSX,即使文件类型是CSV。“另存为”对话框来自Excel或Word,而不是我的应用程序


这可能是不可能的,在这种情况下,我有很多选择——比如自动化。但我宁愿不跳,除非我必须跳。谢谢。

您可以在“保存文件”对话框中预定义目标和文件扩展名。问题出在哪里?顺便说一句,您不会将电子表格生成为CSV文件。实际上,使用OleDb ACE生成真正的XLS非常容易。您只需编写逗号分隔的文件。然后,您的用户使用Excel或Open Office阅读这些内容。但它们不是电子表格——只是CSVSo,您有自己的应用程序,但SaveAs来自Excel?是的。生成文档后,他们查看文档,然后决定是否要保留它。一旦他们进入Excel,如果他们愿意,用Excel保存它是最自然的。你评论的语调表明这很可笑,但我不明白为什么。我知道我还可以做其他事情,但我只想知道问题的答案,或者肯定没有答案。