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)?
答案 0 :(得分:0)
请参阅以下链接,这可能会对您有所帮助。
https://www.gemboxsoftware.com/spreadsheet/articles/convert-xls-xlsx-ods-csv-html-net
正如我在示例中所看到的,您需要在项目中包含他们的库。他们举例说明您可以使用以下链接进行检查。
https://www.gemboxsoftware.com/spreadsheet/examples/c-sharp-convert-excel-to-pdf/404
答案 1 :(得分:0)
XLS和XLSX文件格式是不同的文件格式。您不能只是更改扩展名。以下示例是极端类比,但是假设您要将文本文件(TXT扩展名)更改为图像文件(PNG扩展名)。
当您尝试打开文件时,MS Excel会识别无效格式,这是您收到的错误。
您必须将xls文件转换为xlsx文件格式。
您可以使用EasyXLS之类的Excel库来实现此目标:
Dim workbook As New ExcelDocument
'Load the xls file
workbook.easy_LoadXLSFile(FileNameXls)
'Convert the xls file to xlsx file
workbook.easy_WriteXLSXFile(FileNameXlsx)
答案 2 :(得分:-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)