Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
Can';不要在不打开excel(XLS)文件的情况下读取它_Excel_Vb.net - Fatal编程技术网

Can';不要在不打开excel(XLS)文件的情况下读取它

Can';不要在不打开excel(XLS)文件的情况下读取它,excel,vb.net,Excel,Vb.net,我从网页下载了一个Excel 2003格式的XLS文件(没有格式选择),需要提取数据。我应该能够阅读的内容作为一个数据库,而不需要先打开它,但它不会让我阅读它,而不打开它第一 因为它是一个2003年的xls文件,如果我打开它,它会发出一个警告,它可能已损坏等等,我需要确认文件的打开!然后我点击我读取的数据,它在我的datagridview中显示得很好 Imports System.Data.SqlClient Imports System.Data Imports System.Data.Ole

我从网页下载了一个Excel 2003格式的XLS文件(没有格式选择),需要提取数据。我应该能够阅读的内容作为一个数据库,而不需要先打开它,但它不会让我阅读它,而不打开它第一

因为它是一个2003年的xls文件,如果我打开它,它会发出一个警告,它可能已损坏等等,我需要确认文件的打开!然后我点击我读取的数据,它在我的datagridview中显示得很好

Imports System.Data.SqlClient
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.Office.Interop.Excel  
Try

            Dim MyConnection As System.Data.OleDb.OleDbConnection
            Dim dataSet As System.Data.DataSet
            Dim datareader As OleDbDataReader
            Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
            Dim path As String = "C:\holding\list_demands.xls"
            MyConnection = New 
System.Data.OleDb.OleDbConnection("Provider=Microsoft.ace.OLEDB.12.0;Data 
Source=" + path + ";Excel 8.0 XML;HDR=YES;Format=xls")
        MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from 
[List_demands$]", MyConnection)
            MyConnection.Open()
            dataSet = New System.Data.DataSet
            MyCommand.Fill(dataSet)
            DataGridView1.DataSource = dataSet.Tables(0)

            MyConnection.Close()
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        End Try

验证下载的文件是否确实是Excel文件。许多网站下载Html(文本),只需给它一个
.xls
扩展名,就能诱使Excel打开它。Excel检测到它是Html并将其转换。尝试在记事本中打开文件。如果它是可读文本,它就不是Excel文件。是的,我刚刚看到了,我将文件扩展名改为html,然后chrome打开它并显示了数据!现在,我只需要弄清楚如何将其读取为html或将其转换为有效的XLSX格式文件!让我不舒服的是windows检测到了复制,然后需要确认。如果我手动接受,那么即使是html格式的代码也可以正常工作!实际的excel.xls文件也可以正常工作,需要确认@Peter如果你知道文件中是HTML,那么你可以从中寻找灵感。只需安装Agilitypack,它就成功了!谢谢安德鲁