将Excel文件格式(从.xls更改为.xlsx)更改为vb

时间:2016-12-20 06:12:35

标签: excel vb.net

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)?

3 个答案:

答案 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)