问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vb.net中从DataGridView里面把数据导出到excel中

发布网友 发布时间:2022-04-27 12:01

我来回答

1个回答

热心网友 时间:2022-04-27 13:31

以下是我以前百度找的资料 希望对你有用 你读取DataGridView到DataGrid然后直接调用函数即可

Public Function ExportXLsD(ByVal datagrid As DataGrid) ', ByVal Title As String)
'Dim Mytable As New DataTable
'Mytable = CType(datagrid.DataSource, DataTable)
If mytable Is Nothing Then
MessageBox.Show("没有记录不能导出数据", "PurpleStar", MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Function
End If
If mytable.Rows.Count > 0 Then
Dim MyFileName As String
Dim FileName As String
With SaveFileDialog1
.AddExtension = True '如果用户忘记添加扩展名,将自动家上
.DefaultExt = "xls" '默认扩展名
.Filter = "Excel文件(*.xls)|*.xls"
.Title = "文件保存到"
If .ShowDialog = DialogResult.OK Then
FileName = .FileName
End If
End With
MyFileName = Microsoft.VisualBasic.Right(FileName, 4)
If MyFileName = "" Then
Exit Function
End If
If MyFileName = ".xls" Or MyFileName = ".XLS" Then
Dim FS As FileStream = New FileStream(FileName, FileMode.Create)
Dim sw As StreamWriter = New StreamWriter(FS, System.Text.Encoding.Default)
sw.WriteLine(vbTab & FileName & vbTab & Date.Now)
Dim i, j As Integer
Dim str As String = ""
For i = 0 To mytable.Columns.Count - 1
str = mytable.Columns(i).Caption
sw.Write(str & vbTab)
Next
sw.Write(vbCrLf)
For j = 0 To mytable.Rows.Count - 1
For i = 0 To mytable.Columns.Count - 1
Dim strColName, strRow As String
strRow = IIf(mytable.Rows(j).Item(i) Is DBNull.Value, "", mytable.Rows(j).Item(i))
sw.Write(strRow & vbTab)
Next
sw.Write(vbLf)
Next
sw.Close()
FS.Close()
MessageBox.Show("数据导出成功!", "PurpleStar", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
Exit Function
End If
Else
MessageBox.Show("没有记录不能导出数据", "PurpleStar", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End Function
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
Dim saveExcel As SaveFileDialog
saveExcel = New SaveFileDialog
saveExcel.Filter = "Excel文件(.xls)|*.xls"
Dim filename As String
If saveExcel.ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub
filename = saveExcel.FileName
Dim excel As Excel.Application
excel = New Excel.Application
excel.DisplayAlerts = False
excel.Workbooks.Add(True)
excel.Visible = False
Dim i As Integer
For i = 0 To DataGridView1.Columns.Count - 1
excel.Cells(1, i + 1) = DataGridView1.Columns(i).HeaderText
Next
'设置标题
Dim j As Integer
For i = 0 To DataGridView1.Rows.Count - 1 '填充数据
For j = 0 To DataGridView1.Columns.Count - 1
excel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value
Next
Next
excel.Workbooks(1).SaveCopyAs(filename) '保存
Me.Close()
End Sub

参考资料:以前的收藏 具体不记得哪里了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音弹幕怎么关掉?怎么关闭抖音弹幕? 惠普LaserJet P3005D是否支持B5纸的双面打印? word打印出图片总是缺一部分怎么办-word打印图片不完整怎么解决_百度... 理想one哪里产的车辆? 抚州抚州ONE在哪里? one地址在哪里? 如何在图片上写字(如何在图片上添加文字) 网商贷为什么钱没到账 高级经济师职称怎么评 高级经济师需要评审吗 创新5.1声卡能插在这个pci插槽上吗? CATTI笔译和口译考试考试有没有一级或一级以上的? 请问创新5.1声卡的插槽,什么接口? 主板接声卡的那个插槽松了怎么办?声卡是创新5.1的 catti全国翻译大赛笔译难吗 请问各位主板上的白色卡槽是什么卡槽来的 可以装5.1的声卡吗 catti考试英译汉中将一个出现多次单词翻译错了,会怎么扣分啊,会不会 创新5.1声卡机箱怎么插 关于CATTI英语各等级问题 克孜勒苏柯尔克孜是什么意思? 克孜勒苏柯州在哪里 克孜勒苏柯尔克孜自治州的经济 安卓浏览器哪个是32位的 DNF剑帝过渡装备 三价铁离子怎么变成铁单质 铁单质,二价铁及三价铁的相互转化过程 写出下列转化的化学方程式 铁单质到三价铁,二价铁到三价铁,二价铁到铁单质,三价铁到二价铁 铁单质 二价铁离子 三价铁离子 如何转换 如何把溶液中的二价铁变成三价铁 设计一个实验实现铁单质到三价铁的转变 如何批量导出到EXCEL 穿了防静电服了还需要戴防静电帽吗 防静电帽的款式有哪些 防静电帽的材质是什么 怎样正确穿戴静电手腕带,静电服,静电帽? 静电帽和静电手套表面电阻范围是多少 张魏公遇刺客翻译 如何把鼠标选中的好几行数据从DataGridView控件中读取出来,然后保存到一个现存的EXCEL文件中呢? 如何将datagridview中的数据导入到excel文件中? 三星双门冰箱从哪儿散热 qq解绑身份证的时候显示理财通有未处理完的交易 但是我之前没有过任何交易 该怎么办??? 为什么浏览器书签打不开 请高手支招,关于火狐浏览器书签网址打不开 电脑的网页打不开啊!浏览器不能打开书签 百度手机浏览器里的书签怎么打不开 我手机上的浏览器进去后书签打不开是怎么回事啊?一进书签系统就说应用程序浏览器意外停止请重试然后就... QQ浏览器电脑整理手机书签没反应? 为什么我的火狐浏览器的书签里面的网址突然打不开了?鼠标点击没有反应呢 火狐浏览器书签工具栏,左键可以打开,为什么右键打不开,点了没反应? QQ浏览器书签无法打开