3_31_物联网

来源:互联网 发布:刘姥姥性格知乎 编辑:程序博客网 时间:2024/05/09 02:01

http://www.farsight.com.cn/lecture/L120421-qq.aspx

导出
http://zhidao.baidu.com/question/98456907.html

http://blog.csdn.net/jinjazz/article/details/2766356

excel的dll
http://blog.csdn.net/ltylove2007/article/details/5666065

http://wenwen.soso.com/z/q162450419.htm  ********

http://www.566117.com/player.php?v=XMzAwMjEzMDYw //video
For i = 0 To 5
            If NodeTAB(i).MacNo <> "" Then
                iRow1 = Macandnode.Rows.Add()
                Macandnode.Item("nodename", iRow1).Value = NodeTAB(i).NodeNo
                Macandnode.Item("MacName", iRow1).Value = NodeTAB(i).MacNo
            End If
        Next


http://www.webasp.net/article/28/27196.htm  ************************************************

  Public Structure nodetable
        Dim NodeNo As String
        Dim MacNo As String
        Dim ShortAdd As String
        Dim type() As String
    End Structure


Public Class EduceExcel
        Private Shared Function DGVToTable(ByVal DGV As DataGridView, ByVal tablename As String) As DataTable
            Dim tt As DataTable = DGV.DataSource
            tt.TableName = tablename
            For Each dc As DataColumn In tt.Columns
                dc.ColumnName = DGV.Columns(dc.ColumnName).HeaderText
            Next
            Return tt
        End Function
        Public Shared Function TableToExcel(ByVal DGV As DataGridView, ByVal xlsname As String, ByVal sheetname As String) As Boolean
            TableToExcel(DGVToTable(DGV, sheetname), xlsname)
        End Function
        Public Shared Function TableToExcel(ByVal mytable As DataTable, ByVal xlsname As String) As Boolean
            Dim myoledbcn As New OleDbConnection
            Dim myoledbcmd As New OleDbCommand
            Dim tablename As String = mytable.TableName
            Dim tableAllColmns As String = ""
            Dim strsql As String
            Try
                myoledbcn.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source=" & xlsname & ";extended properties='excel 8.0;hdr=yes;'"
                myoledbcn.Open()
                myoledbcmd.Connection = myoledbcn
                myoledbcmd.CommandType = CommandType.Text
                '第一行插入列标题
                strsql = "create table [" & tablename & "]("
                For Each c As DataColumn In mytable.Columns
                    strsql = strsql & c.Caption & " text,"
                    tableAllColmns = tableAllColmns & c.Caption & ","
                Next
                strsql = strsql.Substring(0, strsql.Length - 1) & ")"
                tableAllColmns = "[" & tableAllColmns.Substring(0, tableAllColmns.Length - 1).Replace(",", "],[") & "]"
                myoledbcmd.CommandText = strsql
                myoledbcmd.ExecuteNonQuery()
                '插入各行
                For Each r As DataRow In mytable.Rows
                    strsql = "insert into [" & tablename & "](" & tableAllColmns & ") values("
                    Dim strsql2 As String = ""
                    For Each c As String In r.ItemArray
                        strsql2 = strsql2 & c & ","
                    Next
                    strsql = strsql & "'" & strsql2.Substring(0, strsql2.Length - 1).Replace(",", "','") & "')"
                    myoledbcmd.CommandText = strsql
                    myoledbcmd.ExecuteNonQuery()
                Next
                MessageBox.Show("数据已经成功导入excel文件" & xlsname, "数据导出", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return True
            Catch errcode As Exception
                MsgBox("错误信息:" & errcode.Message & vbCrLf & vbCrLf & "引发事件:" & errcode.TargetSite.ToString, MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "错误来源:" & errcode.Source)
                Return False
                Exit Function
            Finally
                myoledbcmd.Dispose()
                myoledbcn.Close()
                myoledbcn.Dispose()
            End Try
        End Function
    End Class

vb.net datagridview 使用方法
http://blog.csdn.net/gjj202008/article/details/6532086

http://zhidao.baidu.com/question/352771715.html

 

Public Function daochu(ByVal x As DataGridView) As Boolean '导出到Excel函数
        Try
            If x.Rows.Count <= 0 Then '判断记录数,如果没有记录就退出
                MessageBox.Show("没有记录可以导出", "没有可以导出的项目", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return False
            Else '如果有记录就导出到Excel
                Dim xx As Object : Dim yy As Object
                xx = CreateObject("Excel.Application") '创建Excel对象
                yy = xx.workbooks.add()
                Dim i As Integer, u As Integer = 0, v As Integer = 0 '定义循环变量,行列变量
                For i = 1 To x.Columns.Count '把表头写入Excel
                    yy.worksheets(1).cells(1, i) = x.Columns(i - 1).HeaderCell.Value
                Next
                Dim str(x.Rows.Count - 1, x.Columns.Count - 1) '定义一个二维数组
                For u = 1 To x.Rows.Count '行循环
                    For v = 1 To x.Columns.Count '列循环
                        If x.Item(v - 1, u - 1).Value.GetType.ToString <> "System.Guid" Then
                            str(u - 1, v - 1) = x.Item(v - 1, u - 1).Value
                        Else
                            str(u - 1, v - 1) = x.Item(v - 1, u - 1).Value.ToString
                        End If
                    Next
                Next
                yy.worksheets(1).range("A2").Resize(x.Rows.Count, x.Columns.Count).Value = str '把数组一起写入Excel
                yy.worksheets(1).Cells.EntireColumn.AutoFit() '自动调整Excel列
                ' yy.worksheets(1).name = x.TopLeftHeaderCell.Value.ToString '表标题写入作为Excel工作表名称
                xx.visible = True '设置Excel可见
                yy = Nothing '销毁组建释放资源
                xx = Nothing '销毁组建释放资源
            End If
            Return True
        Catch ex As Exception '错误处理
            MessageBox.Show(Err.Description.ToString, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error) '出错提示
            Return False
        End Try
    End Function

上位机