2016-12-20 7 views
0
If FileUpload.HasFile Then 

     Dim FileNameXlsx = Path.ChangeExtension(Path.GetFileName(FileUpload.PostedFile.FileName), ".xlsx") 

     Dim pathOfUploadedCCP As String = Server.MapPath("~/Uploaded/Documents/TemporaryUploadedFileForCCP/") + FileNameXlsx 

     FileUpload.SaveAs(pathOfUploadedCCP) 

Этот код изменяет только расширение, но я получаю сообщение об ошибке, что файл поврежден. Пожалуйста, помогите мне: как изменить формат файлов в Excel (.xlsx)?Изменить формат файла Excel (от .xls до .xlsx) через vb

+0

Вы можете просто сохранить файл в формате XLSX, загрузите его, а затем удалить его, возможно? (Извините, у меня была опечатка .Xlsb) – BruceWayne

+0

перед загрузкой мне нужно проверить файл, для этого я использую SpreadsheetLight, поэтому я хочу, чтобы все файлы в расширении (.xlsx) были только –

+0

Простое изменение расширения не будет работать, когда-либо , Используйте save as и укажите формат openxmlworkbook для xlsx. https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1 – cyboashu

ответ

-2

Вы можете это сделать?

Dim myFiles As String() 
myFiles = IO.Directory.GetFiles("<Folder Location of thge File>", "*.xls") 
Dim newFilePath As String 
For Each filepath As String In myFiles 
newFilePath = filepath.Replace("<Folder Location of thge File>", ".xlsx") 
System.IO.File.Move(filepath, newFilePath) 
Next 
End Sub 

Он заменит расширение файла файла в папке, если программа найти расширение .xls

Если код выше не будут работать попробовать это.

Dim Path as String 
Path = "C:\Programs\And_So_On\" 
Dim Final As String 
Final = Path & "YourFile.xlsx" 

YourWorkBook.SaveAs(Final) 
+0

Я не знаю, почему требуется понизить ответ, если он не работает, взгляните на обновленный код –

+0

@OP уже имеет код для изменения расширения файла, это не проблема, с которой они сталкиваются. Им также необходимо преобразовать фактический формат файла, так как просто изменение расширения файла не будет делать это в 'VB'. – Jordan

+0

@ShadowFiend ваш код будет только изменять расширение файла, но мне также нужно изменить формат, просто изменение расширения дает мне ошибку, что файл поврежден –

0

См. Ниже ссылку, это может вам помочь.

https://www.gemboxsoftware.com/spreadsheet/articles/convert-xls-xlsx-ods-csv-html-net

Как я могу видеть в примере, вам необходимо включить их библиотека в вашем project.they дала пример, вы можете проверить его с помощью ссылки ниже.

https://www.gemboxsoftware.com/spreadsheet/examples/c-sharp-convert-excel-to-pdf/404

0

XLS и XLSX форматы файлов различных форматов файлов. Вы не можете просто изменить расширение. Следующий пример - экстремальная аналогия, но предположим, что вы хотите изменить текстовый файл (расширение TXT) на файл изображения (расширение PNG).

Когда вы попытаетесь открыть файл, MS Excel распознает недопустимый формат, и это ошибка, которую вы получите.

Вы должны преобразовать ваш xls-файл в формат xlsx.

Вы можете использовать библиотеку Excel как EasyXLS для достижения этой цели:

Dim workbook As New ExcelDocument 
'Load the xls file 
workbook.easy_LoadXLSFile(FileNameXls) 
'Convert the xls file to xlsx file 
workbook.easy_WriteXLSXFile(FileNameXlsx) 
Смежные вопросы