Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过vb更改Excel文件格式(从.xls到.xlsx)_Excel_Vb.net - Fatal编程技术网

通过vb更改Excel文件格式(从.xls到.xlsx)

通过vb更改Excel文件格式(从.xls到.xlsx),excel,vb.net,Excel,Vb.net,这段代码只更改扩展名,但我得到的错误是文件已损坏。请帮助我:如何将文件格式更改为excel工作簿(.xlsx)?您可以这样做吗 If FileUpload.HasFile Then Dim FileNameXlsx = Path.ChangeExtension(Path.GetFileName(FileUpload.PostedFile.FileName), ".xlsx") Dim pathOfUploadedCCP As String = Server.M

这段代码只更改扩展名,但我得到的错误是文件已损坏。请帮助我:如何将文件格式更改为excel工作簿(.xlsx)?

您可以这样做吗

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)

请参阅下面的链接,这可能会对您有所帮助

正如我在示例中看到的,您需要在项目中包含他们的库。他们已经给出了示例,您可以使用下面的链接进行检查


XLS和XLSX文件格式是不同的文件格式。您不能只更改扩展名。下面的示例是一个极端的类比,但假设您想要将文本文件(TXT扩展名)更改为图像文件(PNG扩展名)

当您试图打开该文件时,MS Excel会识别出无效的格式,这就是您遇到的错误

您必须将xls文件转换为xlsx文件格式

您可以使用类似Excel的库来实现此目标:

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

YourWorkBook.SaveAs(Final)

你能把文件保存为.xlsx,上传,然后删除吗?(很抱歉,输入的是.Xlsb)在上传之前,我必须验证该文件,因为我使用的是电子表格,所以我只希望所有文件的扩展名为(.xlsx)仅更改扩展名是无效的。使用“另存为”并为xlsx指定OpenXML工作簿格式。类似的问题我不知道为什么如果一个答案不起作用就要否决它顺便看看更新的代码above@OP已经有代码更改文件扩展名,这不是他们面临的问题。他们还需要转换实际的文件格式,因为在
VB
@shadowfend中,仅仅更改文件扩展名并不能做到这一点。您的代码只会更改文件的扩展名,但我也必须更改格式,仅更改扩展名会导致文件损坏的错误
Dim Path as String
Path = "C:\Programs\And_So_On\"
Dim Final As String
Final = Path & "YourFile.xlsx"

YourWorkBook.SaveAs(Final)
Dim workbook As New ExcelDocument
'Load the xls file
workbook.easy_LoadXLSFile(FileNameXls)
'Convert the xls file to xlsx file
workbook.easy_WriteXLSXFile(FileNameXlsx)