http://www.farsight.com.cn/lecture/L120421-qq.aspx
导出
http://zhidao.baidu.com/question/98456907.html
http://blog.youkuaiyun.com/jinjazz/article/details/2766356
excel的dll
http://blog.youkuaiyun.com/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.youkuaiyun.com/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
上位机