我用VSflexgrid 8.0 Excel 2002
vfg.SaveGrid App.Path & "\xls\销售发货单据列表.xls", flexFileExcel, SaveExcelSettings.flexXLSaveFixedCells
存数据时出现两个问题1存为excel文件后,打开,预览时excel出现错误?这是为什么?2怎样保存为excel文件后,使excel也带有表格线?
vfg.SaveGrid App.Path & "\xls\销售发货单据列表.xls", flexFileExcel, SaveExcelSettings.flexXLSaveFixedCells
存数据时出现两个问题1存为excel文件后,打开,预览时excel出现错误?这是为什么?2怎样保存为excel文件后,使excel也带有表格线?
vsflexgrid导出为Excel文件的功能只有这么大,你无法要求它做得更好。
为这个问题我研究了好长时间,最后的结论是:
自己做一个接口,专门用来从vsflexgrid导出为Excel文件
因为vsflexgird表格的行,我设成不同颜色间隔行,,所以导出excel后也是这样的..当点打印预览时excel出现错误~~不知为何?试了N次依然出错.
但先打开EXCEL后再从菜单中打开该XLS文件保存时不出错
不知是什么原因
偶现在都在导出成文本格式的,文件名带.xls扩展名,这样用EXCEL打开时,会有导入界面出现,可以解决一些文本和数字的问题。
按你的做法还是不能解决.问题依然.
'执行打印
Private Sub OnPrint()
Dim Total As Range
Dim RangeCells As String
Dim tableTitle As String
Dim VBExcel As Excel.Application
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Dim i%, j%, k%
Dim rows As Long
Dim rs As ADODB.Recordset
On Error GoTo LErr
Screen.MousePointer = vbHourglass
If vsHBJL.rows <= 1 Then
MsgBox "没有需要打印的数据!", vbInformation, "提示"
Screen.MousePointer = vbDefault
Exit Sub
End If
rows = vsHBJL.rows - 1
vsHBJL.SaveGrid App.Path & "\VPData.xls", flexFileTabText, True
Set VBExcel = CreateObject("excel.application")
Set xlbook = VBExcel.Workbooks.Open(App.Path & "\VPData.xls")
Set xlsheet = xlbook.Worksheets(1)
xlsheet.Activate
xlsheet.rows(1).Insert
xlsheet.rows(1).Insert
RangeCells = "A" + Trim(1) + ":" + "H" + Trim(1)
Set Total = xlsheet.Range(RangeCells)
With Total
.Merge
.Font.Bold = True
.Font.Size = 14
.RowHeight = 25
.HorizontalAlignment = xlHAlignCenter
.VerticalAlignment = xlHAlignCenter
.Value = z & "换表记录列表"
End With
RangeCells = "A" + Trim(2) + ":" + "H" + Trim(2)
Set Total = xlsheet.Range(RangeCells)
With Total
.Merge
.Font.Size = 9
.HorizontalAlignment = xlHAlignRight
.Value = "打印日期:" & Format(Now, "yyyy年mm月dd日")
End With
With xlsheet
.Range("A" + Trim(3) + ":" + "H" + Trim(rows + 3)).Borders.LineStyle = xlContinuous
.Range("A3" + ":" + "H3").HorizontalAlignment = xlHAlignCenter
.Range("A3" + ":" + "H3").Font.Bold = True
.Range("A4" + ":" + "H" + Trim(rows + 3)).HorizontalAlignment = xlHAlignCenter
.Range("A3").ColumnWidth = 6
.Range("B3").ColumnWidth = 16
.Range("C3" + ":" + "H3").ColumnWidth = 8
.Range("A3" + ":" + "H" + Trim(rows + 3)).Font.Size = 9
.PageSetup.PaperSize = xlPaperA4
.PageSetup.Orientation = xlLandscape
.PageSetup.CenterHorizontally = True
.PageSetup.CenterFooter = "第&P页,共&N页"
.PageSetup.PrintTitleRows = "$A$1:$R$4"
End With
VBExcel.Visible = True
Screen.MousePointer = vbDefault
Exit Sub
LErr:
Set xlsheet = Nothing
Set xlbook = Nothing
Set VBExcel = Nothing
Screen.MousePointer = vbDefault
End Sub