VB导出EXCEL数据格式问题
如何将VB导出到EXCEL中的数据格式变成自己想要的那种!比如我想将导出数据中“还款金额”变成“数值型”并保留两位小数。以下是我导出代码,请各位帮忙修改一下!(如图所示)...
如何将VB 导出到EXCEL中的数据格式变成自己想要的那种!比如我想将导出数据中“还款金额”变成“数值型”并保留两位小数。以下是我导出代码,请各位帮忙修改一下!(如图所示)
Private Sub Command3_Click()
Dim r As Integer, c As Integer
Dim newxls As Excel.Application
Dim newbook As Excel.Workbook
Dim newsheet As Excel.Worksheet
Set newxls = CreateObject("Excel.Application") '创建excel应用程序,打开excel2000
Set newbook = newxls.Workbooks.Add '创建工作簿
Set newsheet = newbook.Worksheets(1) '创建工作表
If Adodc1.Recordset.RecordCount > 0 Then
newxls.Visible = True
For i = 0 To DataGrid1.Columns.Count - 1
newsheet.Cells(1, i + 1) = DataGrid1.Columns(i).Caption
Next i
'指定表格内容
Adodc1.Recordset.MoveFirst
Do Until Adodc1.Recordset.EOF
r = Adodc1.Recordset.AbsolutePosition
For c = 0 To DataGrid1.Columns.Count - 1
newsheet.Cells(r + 1, c + 1) = DataGrid1.Columns(c)
Next c
Adodc1.Recordset.MoveNext
Loop
End If
End Sub 展开
Private Sub Command3_Click()
Dim r As Integer, c As Integer
Dim newxls As Excel.Application
Dim newbook As Excel.Workbook
Dim newsheet As Excel.Worksheet
Set newxls = CreateObject("Excel.Application") '创建excel应用程序,打开excel2000
Set newbook = newxls.Workbooks.Add '创建工作簿
Set newsheet = newbook.Worksheets(1) '创建工作表
If Adodc1.Recordset.RecordCount > 0 Then
newxls.Visible = True
For i = 0 To DataGrid1.Columns.Count - 1
newsheet.Cells(1, i + 1) = DataGrid1.Columns(i).Caption
Next i
'指定表格内容
Adodc1.Recordset.MoveFirst
Do Until Adodc1.Recordset.EOF
r = Adodc1.Recordset.AbsolutePosition
For c = 0 To DataGrid1.Columns.Count - 1
newsheet.Cells(r + 1, c + 1) = DataGrid1.Columns(c)
Next c
Adodc1.Recordset.MoveNext
Loop
End If
End Sub 展开
5个回答
展开全部
告诉你最简单的办法,在EXCEL里面使用宏录制你的操作,然后查看编辑这个宏,什么代码都有了,我就经常采用这种方法直接获取代码的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有两个方法
1,在数据库里金钱类直接用金钱的数据类型,出来后自动就会自动转为金钱型
2\在程序里处理,加入round(val(还款金额),2)
1,在数据库里金钱类直接用金钱的数据类型,出来后自动就会自动转为金钱型
2\在程序里处理,加入round(val(还款金额),2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Do Until Adodc1.Recordset.EOF
r = Adodc1.Recordset.AbsolutePosition
For c = 0 To DataGrid1.Columns.Count - 1
newsheet.Cells(r + 1, c + 1) = DataGrid1.Columns(c)
Next c
Adodc1.Recordset.MoveNext
Loop
这里可以不用循环。一句搞定:学一下CopyFromRecordset这个语句
你想解决的问题,可以在EXCEL中,设置那一列的格式。具体做法可以录宏看一下
r = Adodc1.Recordset.AbsolutePosition
For c = 0 To DataGrid1.Columns.Count - 1
newsheet.Cells(r + 1, c + 1) = DataGrid1.Columns(c)
Next c
Adodc1.Recordset.MoveNext
Loop
这里可以不用循环。一句搞定:学一下CopyFromRecordset这个语句
你想解决的问题,可以在EXCEL中,设置那一列的格式。具体做法可以录宏看一下
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以直接用excel的函数或vb的格式化函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询