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

使用的软件是vs2005+sql2000
语言是vb.net
通过查询后在DataGridView中显示一些数据 ,想单击“导出”按钮,完成数据导出到excel表格中,
希望来一个详细的过程 谢谢
另外 我做的是一个图书馆管理系统

以下是我以前百度找的资料 希望对你有用 你读取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

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

温馨提示:内容为网友见解,仅供参考
无其他回答

vb.net中从DataGridView里面把数据导出到excel中
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...

vb.net dataGridView导出EXCEL
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 '如果有记录就导...

VB.NET怎么将DataGridview里的内容导出到EXCEL去
End Sub 前提要先引用一个Microsoft.Office.Interop.Excel.dll然后在最上面先输入Imports Microsoft.Office.Interop; 就可以了

vb.net从datagridview内容导入到Excel,并在Excel的第三行开始显示_百度...
直接在工作表的首行追加2行就可以了啊,你也可以直接选择我下面的函数 Public Function Export_Excel(ByVal dgv As DataGridView) As Boolean Try If dgv.Rows.Count <= 0 Then '如果没有记录就退出 MessageBox.Show("没有记录可以导出", "没有可以导出的项目", MessageBoxButtons.OK, Me...

通过按钮点击 使datagridview导出到excel
region 从DataSet到出到Excel \/**\/ \/\/\/ \/\/\/ 执行导出 \/\/\/ \/\/\/ 要导出的DataTable \/\/\/ 要导出到的execl文件路径+文件名ps:如果是c\/s程序,那您直接丢一openFileDialog就方便多了 \/\/\/ 导出到的execl的Sheet名 private void doExport(DataTable dt, string toFileName, str...

winform的datagridview导出excel如何让格式保持不变
你应该是直接双击打开excel文件吧,除非你声明的这些格子中的数据位文本,否则长串的数字都会变成科学计数法,你可以使用excel打开方式,一步一步打开,使用它的文本导入方法,把所有的列数据格式选择为文本,它就不会转换成科学计数法

C#winfrom程序中,将datagridview中的数据导出到EXCEL中,如何实现对EXCEL...
貌似是不能实现的,我记得微软给我们培训的时候好像说过,不论是数据库到Excel 还是Excel到数据库,都需要是格式化数据,也就是说,必须得是一行一条的那种,跟数据库里查数据然后下面显示查询结果出来的那样的表格是一样的才行。

在C#中,如何把DataGridview中的数据导出到一个Excel表中
public bool ExportDataGridview(DataGridView gridView, bool isShowExcle){ if (gridView.Rows.Count == 0){ return false;} \/\/创建Excel对象 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();excel.Application.Workbooks.Add(true);\/\/生成字段名称...

C# 导出Excel的6种简单方法实现
4. **从微软网格控件导出数据到 Excel 微软网格控件如 DataGrid、GridView 和 DataGridView 提供了可视化数据的方式。使用 Syncfusion Excel (XlsIO) 库,可以快速将数据从这些控件导出到 Excel 工作表,并且可以使用标题和样式进行导出。下面的代码示例展示了如何将数据从 DataGridView 导出到 Excel 工作表...

如何将 Datagridview中的数据 按显示顺序导出到Excel
添加组合框用存放工作表名称序列及选定赋值用 Sub 工作表名称()For x = 1 To Sheets.Count ComboBox1.AddItem Sheets(x).Name Next x End Sub

相似回答