vb.net打开excel 提示 “不能识别的文件格式”
vb.net写的程序来操作excel文件,在一些电脑上会出现“不能识别的文件格式”报错,有些电脑则没问题。都是win7系统 excel是2007或者2010
求助。。。。。
vb.net excel 不能识别的文件格式, --------------------编程问答-------------------- 在win7里出现这个错误可能是权限的问题,如果你将文件放在程序所在的目录,就不会出现这个问题,你试一下。放在XP环境里也测试一下,如果正常,那一定是权限问题,要么放在程序所在的目录,要么要以管理员的权限来运行程序。 --------------------编程问答--------------------
试过把文件放在release文件夹里面,,还是这个错误。 --------------------编程问答-------------------- 如果你用的低版本的dll,去打开高版本文件,可能... --------------------编程问答--------------------
但是出错的电脑也装的是office2007 --------------------编程问答-------------------- 是不是EXCEL文件的格式是早期的,
用office2007打开文件,然后修改内容,再保存文件,有没有要求转存的信息 --------------------编程问答-------------------- 代码贴出来看看,帮你分析一下 --------------------编程问答--------------------
Public Shared excelpath As String--------------------编程问答-------------------- 在我的机子上调试没有问题,我的系统是win7 --------------------编程问答--------------------
Dim openFileDiag As New OpenFileDialog()
Dim xlApp As New Microsoft.Office.Interop.Excel.Application
Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
If openFileDiag.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
excelpath = openFileDiag.FileName
End If
xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
xlBook = xlApp.Workbooks.Open(Home_Form.excelpath)
Public Shared excelpath As String
Public xlBook As Microsoft.Office.Interop.Excel.Workbook
Public xlSheet As Microsoft.Office.Interop.Excel.Worksheet
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim openFileDiag As New OpenFileDialog()
Dim xlApp As New Microsoft.Office.Interop.Excel.Application
Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
If openFileDiag.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
excelpath = openFileDiag.FileName
End If
xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
xlBook = xlApp.Workbooks.Open(excelpath)
xlSheet = xlBook.Worksheets(xlBook.Sheets(1).name) '读取excel
For i = 1 To 5
For j = 1 To 5
If xlSheet.Cells(j, i).value <> "" Then
ListBox1.Items.Add(xlSheet.Cells(i, j).value.ToString())
End If
Next j
Next i
End Sub
没有你“不能识别的文件格式”,我引用的是Microsoft.Office.Interop.Excel版本是12.0.0.0 --------------------编程问答-------------------- 应该是不能识别的机器上安装office时没有添加对.net的支持吧(默认是不安装的)。重新安装一下office,自定义安装,添加.net的支持即可 --------------------编程问答-------------------- 这个问题我把电脑上的03版excel删除了就可以了。 --------------------编程问答--------------------
求不删除03excel的情况下的解决方法。。问题关键是
xlApp = CreateObject("Excel.Application")'的时候打开了03版本的应用。
xlBook = xlApp.Workbooks.Open(Home_Form.excelpath)’而这一句打开的是.xlsx后缀的文件。
求大神给个方法。。 --------------------编程问答-------------------- 你安装一个 2003,2007兼容包,再引用Microsoft.Office.Interop.Excel版本是12.0.0.0 , --------------------编程问答--------------------
关键是不是所有电脑都是这样。。。有很多电脑。。每台装也不太现实。。 --------------------编程问答-------------------- 关键是你要找到问题,给解决了,再搞个自动升级, --------------------编程问答-------------------- 顶一下。。。。。 --------------------编程问答--------------------
我倒没出现过这样的问题 --------------------编程问答-------------------- 打开高版本的excel文件,可能会出现这现象!按理说,你打开的应该是excel2007或更高版本的,后缀名是不是.xlsm,下载一个《excel2007兼容包》,安装后看能否还提示这现象!
补充:.NET技术 , VB.NET