求救啊。。VB中MSHFlexGrid的数据导入EXCEL中出错啊
时间:2011-09-26
来源:互联网
如题,将MSHFlexGrid中得数据导入到EXCEL中后部分数据发生了变化
如“11-1-20”这样的字符串或文本吧 导入EXCEL之后就变成了“1963-11-1”类似于这样的...
“11-1-20”貌似被当做日期处理了啊。。。。求解此问题怎么处理啊。。。。急啊。。。。。
如“11-1-20”这样的字符串或文本吧 导入EXCEL之后就变成了“1963-11-1”类似于这样的...
“11-1-20”貌似被当做日期处理了啊。。。。求解此问题怎么处理啊。。。。急啊。。。。。
作者: mengting0917 发布时间: 2011-09-26
前面 加一个 “‘”[code=VB]
Public Function ExportToExcel(objMsg As MSHFlexGrid, ProgressBar1 As Object) As Boolean
'输出到任何版本的Excel
On Error GoTo ExportToExcel_ErrorHandler
'过滤没有显示出来数据列
Dim iCol As Long
Dim objExcelApp As Object
Dim objExcelBook As Object
Dim objExcelSheet As Object
On Error Resume Next
Set objExcelApp = GetObject(, "Excel.Application ")
If err.Number <> 0 Then
Set objExcelApp = CreateObject( "Excel.Application ")
End If
On Error GoTo ExportToExcel_ErrorHandler
Set objExcelBook = objExcelApp.Workbooks.Add
'Set objExcelSheet = objExcelBook.Worksheets(1)
If Val(objExcelApp.Application.Version) > = 8 Then
Set objExcelSheet = objExcelApp.ActiveSheet
Else
Set objExcelSheet = objExcelApp
End If
Dim lngRowsCount As Long, lngColumnsCount As Long, lngRow As Long, lngColumn As Long
Dim strText As String
lngRowsCount = objMsg.Rows
lngColumnsCount = objMsg.Cols
ProgressBar1.Visible = True
ProgressBar1.Max = lngRowsCount
ProgressBar1.Min = 0
ProgressBar1.Value = 0
For lngRow = 1 To lngRowsCount
iCol = 0
For lngColumn = 1 To lngColumnsCount
If objMsg.ColWidth(lngColumn - 1) < 100 Then
iCol = iCol + 1
End If
If objMsg.ColWidth(lngColumn - 1) > 100 Then
strText = objMsg.TextMatrix(lngRow - 1, lngColumn - 1)
If Trim(strText) <> " " Then
objExcelSheet.Cells(lngRow, lngColumn - iCol) = " ' " & strText
End If
End If
Next
ProgressBar1.Value = lngRow
Next
objExcelApp.Visible = True
Set objExcelSheet = Nothing
Set objExcelBook = Nothing
Set objExcelApp = Nothing
ProgressBar1.Value = ProgressBar1.Max
ProgressBar1.Visible = False
ExportToExcel = True
ErrorHandler:
Exit Function
ExportToExcel_ErrorHandler:
MsgBox err.Description
Resume ErrorHandler
End Function
[/code]
Public Function ExportToExcel(objMsg As MSHFlexGrid, ProgressBar1 As Object) As Boolean
'输出到任何版本的Excel
On Error GoTo ExportToExcel_ErrorHandler
'过滤没有显示出来数据列
Dim iCol As Long
Dim objExcelApp As Object
Dim objExcelBook As Object
Dim objExcelSheet As Object
On Error Resume Next
Set objExcelApp = GetObject(, "Excel.Application ")
If err.Number <> 0 Then
Set objExcelApp = CreateObject( "Excel.Application ")
End If
On Error GoTo ExportToExcel_ErrorHandler
Set objExcelBook = objExcelApp.Workbooks.Add
'Set objExcelSheet = objExcelBook.Worksheets(1)
If Val(objExcelApp.Application.Version) > = 8 Then
Set objExcelSheet = objExcelApp.ActiveSheet
Else
Set objExcelSheet = objExcelApp
End If
Dim lngRowsCount As Long, lngColumnsCount As Long, lngRow As Long, lngColumn As Long
Dim strText As String
lngRowsCount = objMsg.Rows
lngColumnsCount = objMsg.Cols
ProgressBar1.Visible = True
ProgressBar1.Max = lngRowsCount
ProgressBar1.Min = 0
ProgressBar1.Value = 0
For lngRow = 1 To lngRowsCount
iCol = 0
For lngColumn = 1 To lngColumnsCount
If objMsg.ColWidth(lngColumn - 1) < 100 Then
iCol = iCol + 1
End If
If objMsg.ColWidth(lngColumn - 1) > 100 Then
strText = objMsg.TextMatrix(lngRow - 1, lngColumn - 1)
If Trim(strText) <> " " Then
objExcelSheet.Cells(lngRow, lngColumn - iCol) = " ' " & strText
End If
End If
Next
ProgressBar1.Value = lngRow
Next
objExcelApp.Visible = True
Set objExcelSheet = Nothing
Set objExcelBook = Nothing
Set objExcelApp = Nothing
ProgressBar1.Value = ProgressBar1.Max
ProgressBar1.Visible = False
ExportToExcel = True
ErrorHandler:
Exit Function
ExportToExcel_ErrorHandler:
MsgBox err.Description
Resume ErrorHandler
End Function
[/code]
作者: ttpsan550 发布时间: 2011-09-26
引用 1 楼 ttpsan550 的回复:
前面 加一个 “‘”[code=VB]
Public Function ExportToExcel(objMsg As MSHFlexGrid, ProgressBar1 As Object) As Boolean
'输出到任何版本的Excel
On Error GoTo ExportToExcel_ErrorHandler
……
前面 加一个 “‘”[code=VB]
Public Function ExportToExcel(objMsg As MSHFlexGrid, ProgressBar1 As Object) As Boolean
'输出到任何版本的Excel
On Error GoTo ExportToExcel_ErrorHandler
……
不对啊,前面加了“‘”还是不对。
作者: mengting0917 发布时间: 2011-09-26
求救啊。。来个高人解答一下 啊
作者: mengting0917 发布时间: 2011-09-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28