Если вы считаете, что папка «Мои документы» является хорошим местом для сохранения файла Excel, то этот код поможет вам найти путь:
var folderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
или, еслиВы хотите поместить файл на рабочий стол:
var folderPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
Код работает независимо от того, где находится папка «Мои документы» (или «Рабочий стол») для пользователя (C:, D :, общий сетевой ресурс и т. Д.) Или на какой языковой версии используется его установка Windows.
Для объединения с именем файла на основе времени:
var fileName = $"your_file_{DateTime.Now:yyMMddHHmmss}.xlsx";
var fullPath = Path.Combine(folderPath, fileName);
Я часто использую на основе времениимена файлов не перезаписывать, если есть предыдущий файл.(Конечно, он будет перезаписан, если будет создан в ту же секунду)
Если вы хотите, чтобы имя файла гарантированно было уникальным, вы можете использовать Guid
вместо DateTime
:
var fileName = $"your_file_{Guid.NewGuid():N}.xlsx";
Если файл используется только «в программе», вы также можете сохранить его в папке временных файлов.Чтобы получить путь к папке временных файлов, вы пишете var folderPath = Path.GetTempPath()
Надеюсь, это поможет!