2015-03-27 2 views
0

Я хочу, чтобы создать файл с указанным именем клиента с указанным расширениемСоздание различных файлов с различными расширениями с помощью FileStream

например: sample.xlsx или sample.docx или sample.txt

и нужно открыть Это. я использовал ниже образец кода и который создается и открывать файлы формата TXT, как ожидалось, но и другие файлы формата, такие как (.xlsx, .doc) созданы, но которые бросает ошибку

«файл не может открыть и конкретизированы формат файла и расширение недействительны "

при попытке открыть созданный файл.

var hyperLink = new Hyperlink(); 
FileStream file = new FileStream(@Hyperlink.Address, 
    FileMode.Create);         
hyperLink.NavigateUri = new Uri(file.Name); 
file.Close(); 
if (hyperLink.NavigateUri != null) 
    Process.Start(new ProcessStartInfo(hyperLink.NavigateUri.AbsoluteUri)); 
+0

Ваш код имеет (почти) ничего общего с созданием файла. 'new FileStream' достаточно, чтобы создать новый файл с произвольными расширениями. – DrKoch

+0

Откуда возникает ошибка? Какая линия? который звонит? (Подсказка: используйте отладчик ...) – DrKoch

+0

Что вы пытаетесь сделать? Какая здесь большая картина? – DrKoch

ответ

1

Вы не можете открыть пустой *.docx или *.xlsx файл, поскольку такой файл должен содержать допустимое содержимое.

Создание такого содержания выходит за рамки этого ответа ...

+0

спасибо, но можно создать файл docx с приведенным выше кодом, почему бы не с xlsx? –

+0

Как я уже сказал: вам нужно иметь правильное содержание в любом случае. Вероятно, нулевые байты (случайно) действительны для .docx (но не полезны в любом случае) – DrKoch

0

Вы не можете создать пустой DOCX и XLSX файлы, как сказал Drkoch. Вы должны использовать отдельные методы для создания файлов xlsx и doc.

Для создания файла DOCX, пожалуйста, перейдите по указанной ниже ссылке: C#: Create and Manipulate Word Documents Programmatically Using DocX

Для создания XLSX файл, пожалуйста, перейдите по указанной ниже ссылке: Create Excel (.XLS and .XLSX) file from C#

+0

Спасибо, опубликованная ссылка для создания файла xlsx в том случае, если мы не установили excel в машине. но теперь у меня есть excel, установленный на моей машине. –

+0

, пожалуйста, дайте некоторое предложение, если это возможно с FileStream –

+0

Нет, вы не можете манипулировать файлом excel с FileStream. ** Отметьте свой ответ как принятый, если это полезно. ** –

0

Вы можете использовать Open XML для создания и редактирования офисных файлов без с MS Office, установленным на сервере. https://msdn.microsoft.com/en-us/library/office/bb448854.aspx

sriman reddy правильно, что вы не можете просто создавать файлы Office с FileStream. Файлы Office - это zip-файлы, содержащие специально отформатированные файлы (в основном xml), которые составляют документ и его содержимое.

Смежные вопросы