Usarsef Ответов: 2

Как экспортировать файл ресурсов с помощью file stream C#


У меня есть файл excel в proprieties ressources и я хочу экспортировать его с помощью файлового потока где я могу выбрать путь сохранения потому что теперь он сохранен в temp а это не то что я хочу

Что я уже пробовал:

byte[] myfile = Properties.Resources.canva;
           File.WriteAllBytes(@"c:\temp\canva.xlsx", myfile);
           MessageBox.Show("Canva Loaded Successfully", "Information");
           Process pross = new Process();
           pross.StartInfo.FileName = @"c:\temp\canva.xlsx";
           pross.Start();

2 Ответов

Рейтинг:
2

Dave Kreskowiak

Серьезно? Посмотрите на свой код и путь к файлу, в который вы записываете байты.

Все, что вам нужно сделать, это указать другой путь к файлу. Вот именно!

Но вы бы знали это, если бы написали код вместо копирования и вставки кода.


Usarsef

Мне не нужен статический путь, как, что @"c:\temp\canva.xlsx" в именах я хочу иметь возможность выбрать путь, используя диалоговое окно Сохранить

Dave Kreskowiak

Savefiledialog даст вам это. Все, что он делает, - это возвращает строку, представляющую путь к файлу. Он действительно прост в использовании, как показано в другом ответе.

Maciej Los

5ed!

Рейтинг:
18

Garth J Lancaster

Цитата:
это спасло меня при темпе а я этого не хочу
. но компьютеры тупы - вот что вы сказали ему сделать здесь
File.WriteAllBytes(@"c:\temp\canva.xlsx", myfile);
вам, вероятно, нужно что-то вроде
SaveFileDialog savefile = new SaveFileDialog(); 
// set a default file name
savefile.FileName = "canva.xlsx";
// set filters - this can be done in properties as well
savefile.Filter = "Excel files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
savefile.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
if (savefile.ShowDialog() == DialogResult.OK)
{
    File.WriteAllBytes(savefile, myfile);
}


Этот
Цитата:
файл сохранения.InitialDirectory = Окружающая Среда.GetFolderPath(Environment.Специальная папка.Мои документы);
может быть установлен в любом месте, подходящем для вашего приложения

Это решает вашу проблему ?


Usarsef

Теперь файл находится в ресурсах я хочу кнопку чтобы получить его оттуда на путь с помощью диалогового окна сохранить надеюсь вы понимаете

Garth J Lancaster

Мне кажется, я понимаю, что вы хотите, чтобы все делали за вас вашу работу. Поместите кнопку в свою форму, посмотрите на события кнопки, Выберите ? - Щелкните событие(ed), назначьте ему обработчик, а затем заполните обработчик кодом сверху.

Maciej Los

5ed!