VB.NET之旅-机房收费系统个人重构DatagridView导出数据到Excel
2014-08-16 20:08
756 查看
记得vb版的机房收费系统的导出Excel是从网上直接搬的代码,这次又遇到了从dataGridView导出Excel的问题,我在心里暗暗想,这次的代码一定要自己写,这一写可就出问题了,请见下文
第一步,添加引用在U层
第二步,引入命名空间
第三步,书写代码
遇到问题一.
答案:从网上找了很多资料,原来答案在这里,excel的表格索引值行和列都是从1开始的,而我这里却是从0开始的
遇到问题二,三
没有表头,而且我在DataGridView中的卡号明明是00001到了excel中怎么变成了1,我想大家都知道这是Excel中的单元格格式的问题,只要把单元格的格式改成文本类型,然后在进行输入就可以了。
代码:
再解决一下表头问题:
再看一下具体的代码:
第一步,添加引用在U层
第二步,引入命名空间
第三步,书写代码
遇到问题一.
答案:从网上找了很多资料,原来答案在这里,excel的表格索引值行和列都是从1开始的,而我这里却是从0开始的
遇到问题二,三
没有表头,而且我在DataGridView中的卡号明明是00001到了excel中怎么变成了1,我想大家都知道这是Excel中的单元格格式的问题,只要把单元格的格式改成文本类型,然后在进行输入就可以了。
代码:
再解决一下表头问题:
再看一下具体的代码:
<strong> Public Sub ExportExcel(ByRef frmName As Form, ByRef flexgrid As DataGridView) Dim xlApp As New Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim answer As Int16 xlBook = xlApp.Workbooks.Add(True) xlSheet = xlBook.Worksheets.Add() If flexgrid.Rows.Count = 0 Then answer = MessageBox.Show("当前记录为空,仍需导出吗?", frmName.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) If answer = DialogResult.No Then Exit Sub End If End If With flexgrid Dim drow As Int16 Dim dcol As Int16 drow = flexgrid.Rows.Count '行 dcol = flexgrid.Columns.Count '列 xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(drow + 1, dcol)).Select() '选中所需单元格 xlApp.Selection.NumberFormatLocal = "@" '将单元格的格式定义为文本 'excel.cell(行的索引,列的索引)两个索引都是从1开始的 'DataGridView(列的索引,行的索引)两个索引都是从0开始的 For i = 0 To dcol - 1 xlSheet.Cells(1, i + 1) = flexgrid.Columns(i).HeaderText Next For i = 0 To drow - 1 'i为0到总行数-1的循环 For j = 0 To dcol - 1 'j为0到总列数-1的循环 xlSheet.Cells(i + 2, j + 1) = flexgrid.Item(j, i).Value.ToString Next Next End With xlApp.Visible = True End Sub</strong>希望同样遇到这些问题的同学,能从这里找到些答案,能给大家一点帮助!
相关文章推荐
- 机房收费系统之用VB导出数据到Excel
- 【个人机房重构】—— 将DataGridView中的数据导出到Excel表中㈣
- VB.Net机房收费系统(三层)——将datagirdview 控件数据导入Excel
- VB.NET机房收费系统导出Excel
- 【VB.NET机房重构】DataGridView导出Excel
- 机房收费系统——在VB中将MSHFlexGrid控件中的数据导出到Excel
- 机房收费系统——VB将MSHflexgrid控件中的数据导出为Excel
- 重构机房VB.NET<机房收费系统个人重构版>你都学会了什么(之一)
- 机房收费系统(VB.NET)个人版总结
- 机房收费系统.NET个人重构总结
- 重构机房收费系统你要用的——异常处理和抛出异常(try catch finally)——(vb.net)
- VB.NET<机房收费系统个人重构版>你都学会了什么(之三)
- VB.NET之旅—文本框内字符串的检验(机房收费系统重构个人版)
- <机房收费系统>重构至今之感(VB.NET)
- 机房收费系统总结之6——DataGridView导出为Excel
- VB.NET<机房收费系统个人重构版>你都学会了什么(之五)
- VB.net 将dataGridView中的数据导出到excel
- VB.NET<机房收费系统个人重构版>你都学会了什么(之二)
- VB.NET<机房收费系统个人重构版>你都学会了什么(之一)
- 从DataGridView中将数据导出Excel(vb.net)