Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.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
C# 比较两个excel文件并将差异放入新的工作表中_C#_Vb.net - Fatal编程技术网

C# 比较两个excel文件并将差异放入新的工作表中

C# 比较两个excel文件并将差异放入新的工作表中,c#,vb.net,C#,Vb.net,我正在比较两张像这样的表格: 一张图纸比另一张图纸更新,可以删除、添加或更新行 我的代码用于检测两行之间是否删除/添加了一行,但对我来说不起作用,以下是我的代码: Private Sub CompareSpreadsheets() Dim xlApp1 As Excel.Application = New Microsoft.Office.Interop.Excel.Application() Dim xlApp2 As Excel.Application = New Micr

我正在比较两张像这样的表格:

一张图纸比另一张图纸更新,可以删除、添加或更新行

我的代码用于检测两行之间是否删除/添加了一行,但对我来说不起作用,以下是我的代码:

Private Sub CompareSpreadsheets()
    Dim xlApp1 As Excel.Application = New Microsoft.Office.Interop.Excel.Application()
    Dim xlApp2 As Excel.Application = New Microsoft.Office.Interop.Excel.Application()
    Dim xlApp3 As Excel.Application = New Microsoft.Office.Interop.Excel.Application()
    Dim xlWorkBook1, xlWorkBook2, xlWorkBook3 As Excel.Workbook
    Dim xlWorkSheet1, xlWorkSheet2, xlWorkSheet3 As Excel.Worksheet
    Dim misValue As Object = System.Reflection.Missing.Value
    Dim xlRange1 As Excel.Range
    Dim maxRows As Short
    Dim qtyChange, mtlChange, newItem, delItem As Boolean
    Dim newRowCount As Short = 1
    Dim w3row As Short = 1

    'Check if Excel is installed on system
    If xlApp1 Is Nothing Then
        MessageBox.Show("Excel is missing/not properly installed on your system.", "ERROR")
        Return
    End If

    xlApp1.Workbooks.Open(path1)
    xlWorkBook1 = xlApp1.ActiveWorkbook
    xlWorkSheet1 = xlWorkBook1.ActiveSheet

    xlApp2.Workbooks.Open(path2)
    xlWorkBook2 = xlApp2.ActiveWorkbook
    xlWorkSheet2 = xlWorkBook2.ActiveSheet

    'Get maximum number of columns and rows from new spreadsheet
    maxRows = xlWorkSheet2.UsedRange.Rows.Count

    pbStatus.Minimum = 1
    pbStatus.Maximum = maxRows

    xlWorkBook3 = xlApp3.Workbooks.Add(misValue)
    xlWorkSheet3 = xlWorkBook3.Sheets("sheet1")

    qtyChange = False
    mtlChange = False
    newItem = False
    delItem = False

    Dim counter = 0 '/temp

    For i As Short = 1 To maxRows
        pbStatus.Value = i

        '[-- Green = Quantity change
        'Yellow = Material change
        'Blue = New item
        'Red = Deleted item --]

        If GetCellData(xlWorkSheet1, newRowCount, 3) = GetCellData(xlWorkSheet2, i, 3) And _
            GetCellData(xlWorkSheet1, newRowCount, 4) = GetCellData(xlWorkSheet2, i, 4) And _
            GetCellData(xlWorkSheet1, newRowCount, 5) = GetCellData(xlWorkSheet2, i, 5) And _
            GetCellData(xlWorkSheet1, newRowCount, 6) = GetCellData(xlWorkSheet2, i, 6) And _
            GetCellData(xlWorkSheet1, newRowCount, 7) = GetCellData(xlWorkSheet2, i, 7) And _
            GetCellData(xlWorkSheet1, newRowCount, 8) = GetCellData(xlWorkSheet2, i, 8) Then
            'DONE
            qtyChange = False
            mtlChange = False
            newItem = False
            delItem = False
            newRowCount += 1
        ElseIf GetCellData(xlWorkSheet1, newRowCount, 3) = GetCellData(xlWorkSheet2, i, 3) And _
            GetCellData(xlWorkSheet1, newRowCount, 4) = GetCellData(xlWorkSheet2, i, 4) And _
            GetCellData(xlWorkSheet1, newRowCount, 5) = GetCellData(xlWorkSheet2, i, 5) And _
            GetCellData(xlWorkSheet1, newRowCount, 6) <> GetCellData(xlWorkSheet2, i, 6) And _
            GetCellData(xlWorkSheet1, newRowCount, 7) = GetCellData(xlWorkSheet2, i, 7) And _
            GetCellData(xlWorkSheet1, newRowCount, 8) = GetCellData(xlWorkSheet2, i, 8) Then
            'DONE
            qtyChange = True
        ElseIf GetCellData(xlWorkSheet1, newRowCount, 1) = GetCellData(xlWorkSheet2, i, 1) And _
            GetCellData(xlWorkSheet1, newRowCount, 2) = GetCellData(xlWorkSheet2, i, 2) And _
            GetCellData(xlWorkSheet1, newRowCount, 3) = GetCellData(xlWorkSheet2, i, 3) And _
            GetCellData(xlWorkSheet1, newRowCount, 4) <> GetCellData(xlWorkSheet2, i, 4) And _
            GetCellData(xlWorkSheet1, newRowCount, 5) = GetCellData(xlWorkSheet2, i, 5) And _
            GetCellData(xlWorkSheet1, newRowCount, 6) = GetCellData(xlWorkSheet2, i, 6) And _
            GetCellData(xlWorkSheet1, newRowCount, 7) = GetCellData(xlWorkSheet2, i, 7) And _
            GetCellData(xlWorkSheet1, newRowCount, 8) = GetCellData(xlWorkSheet2, i, 8) Then
            'DONE
            mtlChange = True
        ElseIf GetCellData(xlWorkSheet1, newRowCount, 3) <> GetCellData(xlWorkSheet2, i, 3) And _
            GetCellData(xlWorkSheet1, newRowCount, 4) <> GetCellData(xlWorkSheet2, i, 4) Then

            If GetCellData(xlWorkSheet1, newRowCount + 1, 4) <> GetCellData(xlWorkSheet2, i, 4) Then
                newItem = True
            ElseIf GetCellData(xlWorkSheet1, newRowCount, 4) <> GetCellData(xlWorkSheet2, i + 1, 4) Then
                delItem = True
            End If
        End If

        'Procedure for each case
        If qtyChange Then
            xlWorkSheet3.Cells(w3row, 1) = GetCellData(xlWorkSheet2, i, 1)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 1), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Green

            xlWorkSheet3.Cells(w3row, 2) = GetCellData(xlWorkSheet2, i, 2)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 2), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Green

            xlWorkSheet3.Cells(w3row, 3) = GetCellData(xlWorkSheet2, i, 3)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 3), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Green

            xlWorkSheet3.Cells(w3row, 4) = GetCellData(xlWorkSheet2, i, 4)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 4), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Green

            xlWorkSheet3.Cells(w3row, 5) = GetCellData(xlWorkSheet2, i, 5)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 5), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Green

            xlWorkSheet3.Cells(w3row, 6) = GetCellData(xlWorkSheet2, i, 6)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 6), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Green

            xlWorkSheet3.Cells(w3row, 7) = GetCellData(xlWorkSheet2, i, 7)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 7), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Green

            xlWorkSheet3.Cells(w3row, 8) = GetCellData(xlWorkSheet2, i, 8)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 8), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Green

            newRowCount += 1
            w3row += 1
        ElseIf mtlChange Then
            xlWorkSheet3.Cells(w3row, 1) = GetCellData(xlWorkSheet2, i, 1)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 1), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Yellow

            xlWorkSheet3.Cells(w3row, 2) = GetCellData(xlWorkSheet2, i, 2)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 2), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Yellow

            xlWorkSheet3.Cells(w3row, 3) = GetCellData(xlWorkSheet2, i, 3)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 3), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Yellow

            xlWorkSheet3.Cells(w3row, 4) = GetCellData(xlWorkSheet2, i, 4)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 4), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Yellow

            xlWorkSheet3.Cells(w3row, 5) = GetCellData(xlWorkSheet2, i, 5)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 5), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Yellow

            xlWorkSheet3.Cells(w3row, 6) = GetCellData(xlWorkSheet2, i, 6)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 6), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Yellow

            xlWorkSheet3.Cells(w3row, 7) = GetCellData(xlWorkSheet2, i, 7)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 7), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Yellow

            xlWorkSheet3.Cells(w3row, 8) = GetCellData(xlWorkSheet2, i, 8)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 8), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Yellow

            newRowCount += 1
            w3row += 1
        ElseIf delItem Then
            xlWorkSheet3.Cells(w3row, 1) = GetCellData(xlWorkSheet1, newRowCount, 1)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 1), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Red

            xlWorkSheet3.Cells(w3row, 2) = GetCellData(xlWorkSheet1, newRowCount, 2)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 2), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Red

            xlWorkSheet3.Cells(w3row, 3) = GetCellData(xlWorkSheet1, newRowCount, 3)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 3), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Red

            xlWorkSheet3.Cells(w3row, 4) = GetCellData(xlWorkSheet1, newRowCount, 4)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 4), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Red

            xlWorkSheet3.Cells(w3row, 5) = GetCellData(xlWorkSheet1, newRowCount, 5)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 5), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Red

            xlWorkSheet3.Cells(w3row, 6) = GetCellData(xlWorkSheet1, newRowCount, 6)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 6), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Red

            xlWorkSheet3.Cells(w3row, 7) = GetCellData(xlWorkSheet1, newRowCount, 7)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 7), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Red

            xlWorkSheet3.Cells(w3row, 8) = GetCellData(xlWorkSheet1, newRowCount, 8)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 8), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Red

            newRowCount += 1
            i -= 1
            w3row += 1
        ElseIf newItem Then
            xlWorkSheet3.Cells(w3row, 1) = GetCellData(xlWorkSheet2, i, 1)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 1), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Blue

            xlWorkSheet3.Cells(w3row, 2) = GetCellData(xlWorkSheet2, i, 2)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 2), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Blue

            xlWorkSheet3.Cells(w3row, 3) = GetCellData(xlWorkSheet2, i, 3)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 3), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Blue

            xlWorkSheet3.Cells(w3row, 4) = GetCellData(xlWorkSheet2, i, 4)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 4), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Blue

            xlWorkSheet3.Cells(w3row, 5) = GetCellData(xlWorkSheet2, i, 5)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 5), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Blue

            xlWorkSheet3.Cells(w3row, 6) = GetCellData(xlWorkSheet2, i, 6)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 6), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Blue

            xlWorkSheet3.Cells(w3row, 7) = GetCellData(xlWorkSheet2, i, 7)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 7), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Blue

            xlWorkSheet3.Cells(w3row, 8) = GetCellData(xlWorkSheet2, i, 8)
            xlRange1 = CType(xlWorkSheet3.Cells(w3row, 8), Excel.Range)
            xlRange1.Font.Color = System.Drawing.Color.Blue

            w3row += 1
        End If

        qtyChange = False
        mtlChange = False
        newItem = False
        delItem = False
    Next

    'Save new spreadsheet [TEMP NAME]
    xlWorkBook3.SaveAs("C:\Users\Windows\Documents\Visual Studio 2013\Projects\test.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, _
                Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue)
    xlWorkBook3.Close(True, misValue, misValue)
    xlApp3.Quit()

    '----------------------------------
    'End of process, cleaning up CPU---
    xlWorkBook1.Close(True, misValue, misValue)
    xlApp1.Quit()

    xlWorkBook2.Close(True, misValue, misValue)
    xlApp2.Quit()

    ReleaseObject(xlWorkSheet1)
    ReleaseObject(xlWorkBook1)
    ReleaseObject(xlApp1)

    ReleaseObject(xlWorkSheet2)
    ReleaseObject(xlWorkBook2)
    ReleaseObject(xlApp2)

    ReleaseObject(xlWorkSheet3)
    ReleaseObject(xlWorkBook3)
    ReleaseObject(xlApp3)

    cmdFormat.Text = "Process complete. Compare new files?"
End Sub
专用子比较ReadSheets()
Dim xlApp1作为Excel.Application=新的Microsoft.Office.Interop.Excel.Application()
Dim xlApp2作为Excel.Application=新的Microsoft.Office.Interop.Excel.Application()
Dim xlApp3作为Excel.Application=新的Microsoft.Office.Interop.Excel.Application()
将xlWorkBook1、xlWorkBook2、xlWorkBook3设置为Excel.工作簿
将xlWorkSheet1、xlWorkSheet2、xlWorkSheet3标注为Excel.WORKEY
对象为Dim misValue=System.Reflection.Missing.Value
尺寸xlRange1为Excel.Range
将最大行变暗为短行
Dim qtyChange、mtlChange、newItem、delItem作为布尔值
Dim newRowCount为Short=1
将w3row设置为Short=1
'检查系统上是否安装了Excel
如果xlApp1什么都不是,那么
MessageBox.Show(“系统上缺少Excel/未正确安装。”,“错误”)
返回
如果结束
xlApp1.工作簿.打开(路径1)
xlWorkBook1=xlApp1.ActiveWorkbook
xlWorkSheet1=xlWorkBook1.ActiveSheet
xlApp2.工作簿.打开(路径2)
xlWorkBook2=xlApp2.ActiveWorkbook
xlWorkSheet2=xlWorkBook2.ActiveSheet
'从新电子表格中获取最大列数和行数
maxRows=xlWorkSheet2.UsedRange.Rows.Count
pbStatus.Minimum=1
pbStatus.max=maxRows
xlWorkBook3=xlApp3.Workbooks.Add(错误值)
xlWorkSheet3=XLWORKSBOOK 3.工作表(“工作表1”)
qtyChange=False
mtlChange=False
newItem=False
delItem=False
尺寸计数器=0'/温度
对于i As Short=1到maxRows
pbStatus.Value=i
'[--绿色=数量变化
'黄色=材料变化
'蓝色=新项目
'红色=已删除的项目--]
如果GetCellData(xlWorkSheet1,newRowCount,3)=GetCellData(xlWorkSheet2,i,3)和_
GetCellData(xlWorkSheet1,newRowCount,4)=GetCellData(xlWorkSheet2,i,4)和_
GetCellData(xlWorkSheet1,newRowCount,5)=GetCellData(xlWorkSheet2,i,5)和_
GetCellData(xlWorkSheet1,newRowCount,6)=GetCellData(xlWorkSheet2,i,6)和_
GetCellData(xlWorkSheet1,newRowCount,7)=GetCellData(xlWorkSheet2,i,7)和_
GetCellData(xlWorkSheet1,newRowCount,8)=GetCellData(xlWorkSheet2,i,8),然后
”“好的
qtyChange=False
mtlChange=False
newItem=False
delItem=False
newRowCount+=1
ElseIf GetCellData(xlWorkSheet1,newRowCount,3)=GetCellData(xlWorkSheet2,i,3)和_
GetCellData(xlWorkSheet1,newRowCount,4)=GetCellData(xlWorkSheet2,i,4)和_
GetCellData(xlWorkSheet1,newRowCount,5)=GetCellData(xlWorkSheet2,i,5)和_
GetCellData(xlWorkSheet1,newRowCount,6)GetCellData(xlWorkSheet2,i,6)和_
GetCellData(xlWorkSheet1,newRowCount,7)=GetCellData(xlWorkSheet2,i,7)和_
GetCellData(xlWorkSheet1,newRowCount,8)=GetCellData(xlWorkSheet2,i,8),然后
”“好的
qtyChange=True
ElseIf GetCellData(xlWorkSheet1,newRowCount,1)=GetCellData(xlWorkSheet2,i,1)和_
GetCellData(xlWorkSheet1,newRowCount,2)=GetCellData(xlWorkSheet2,i,2)和_
GetCellData(xlWorkSheet1,newRowCount,3)=GetCellData(xlWorkSheet2,i,3)和_
GetCellData(xlWorkSheet1,newRowCount,4)GetCellData(xlWorkSheet2,i,4)和_
GetCellData(xlWorkSheet1,newRowCount,5)=GetCellData(xlWorkSheet2,i,5)和_
GetCellData(xlWorkSheet1,newRowCount,6)=GetCellData(xlWorkSheet2,i,6)和_
GetCellData(xlWorkSheet1,newRowCount,7)=GetCellData(xlWorkSheet2,i,7)和_
GetCellData(xlWorkSheet1,newRowCount,8)=GetCellData(xlWorkSheet2,i,8),然后
”“好的
mtlChange=True
ElseIf GetCellData(xlWorkSheet1,newRowCount,3)GetCellData(xlWorkSheet2,i,3)和_
GetCellData(xlWorkSheet1,newRowCount,4)GetCellData(xlWorkSheet2,i,4)然后
如果GetCellData(xlWorkSheet1,newRowCount+1,4)GetCellData(xlWorkSheet2,i,4),则
newItem=True
ElseIf GetCellData(xlWorkSheet1,newRowCount,4)GetCellData(xlWorkSheet2,i+1,4),然后
delItem=True
如果结束
如果结束
“每个案件的程序
如果qtyChange那么
xlWorkSheet3.Cells(w3row,1)=GetCellData(xlWorkSheet2,i,1)
xlRange1=CType(xlWorkSheet3.Cells(w3row,1),Excel.Range)
xlRange1.Font.Color=System.Drawing.Color.Green
xlWorkSheet3.Cells(w3row,2)=GetCellData(xlWorkSheet2,i,2)
xlRange1=CType(xlWorkSheet3.Cells(w3row,2),Excel.Range)
xlRange1.Font.Color=System.Drawing.Color.Green
xlWorkSheet3.Cells(w3row,3)=GetCellData(xlWorkSheet2,i,3)
xlRange1=CType(xlWorkSheet3.Cells(w3row,3),Excel.Range)
xlRange1.Font.Color=System.Drawing.Color.Green
xlWorkSheet3.Cells(w3row,4)=GetCellData(xlWorkSheet2,i,4)
xlRange1=CType(xlWorkSheet3.Cells(w3row,4),Excel.Range)
xlRange1.Font.Color=System.Drawing.Color.Green
xlWorkSheet3.Cells(w3row,5)=GetCellData(xlWorkSheet2,i,5)
xlRange1=CType(xlWorkSheet3.Cells(w3row,5),Excel.Range)
xlRange1.Font.Color=System.Drawing.Color.Green
xlWorkSheet3.Cells(w3row,6)=GetCellData(xlWorkSheet2,i,6)
xlRange1=CType(xlWorkSheet3.Cells(w3row,6),Excel.Range)
xlRange1.Font.Color=System.Drawing.Color.Green
xlWorkSheet3.Cells(w3row,7)=GetCellData(xlWorkSheet2,i,7)
ElseIf GetCellData(xlWorkSheet1, newRowCount, 3) <> GetCellData(xlWorkSheet2, i, 3) And _
        GetCellData(xlWorkSheet1, newRowCount, 4) <> GetCellData(xlWorkSheet2, i, 4) Then

        If GetCellData(xlWorkSheet1, newRowCount + 1, 4) <> GetCellData(xlWorkSheet2, i, 4) Then
            newItem = True
        ElseIf GetCellData(xlWorkSheet1, newRowCount, 4) <> GetCellData(xlWorkSheet2, i + 1, 4) Then
            delItem = True
        End If
    End If
//////////////////////////////////////////////////////////////////////////////////
//This function is absolute magic >.> - Fill DataTable with excel spreadsheet
//HDR=YES means "Spreadsheet has headers" Change to NO if not.
//name = "Log"; - This is the Sheet name to pull the data from
//////////////////////////////////////////////////////////////////////////////////
//oconn takes an SQL like command (Select Everything from name sheet) using con
//HDR=YES means that our data has headers :)
//////////////////////////////////////////////////////////////////////////////////
String constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + copyToPath + ";Extended Properties='Excel 12.0 XML;HDR=YES;';";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand oconn = new OleDbCommand("Select * From [Log$]", con);
con.Open();
OleDbDataAdapter sda = new OleDbDataAdapter(oconn);
DataTable data = new DataTable();
sda.Fill(data);
con.Close();
//////////////////////////////////////////////////////////////////////////////////