技术论坛

MSFlexGrid控件怎么打印另存EXCEL和清空

作者 主题
侠客

经验值: 841
发帖数: 66
精华帖: 0
主题:【探讨】MSFlexGrid控件怎么打印另存EXCEL和清空


只看楼主 楼主 2021-07-22 14:08:17

WINCC按时间查询SQL数据,然后MSFlexGrid控件怎么打印、另存为EXCEL、清空?



 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1706379&b_id=5&s_id=0&num=8

版主

经验值: 69053
发帖数: 12266
精华帖: 59
回复:MSFlexGrid控件怎么打印另存EXCEL和清空


只看楼主 1楼 2021-07-22 16:05:43

打印可以借助EXCEL实现

另存为EXCEL的话,把数据挨个单元格填写到EXCEL表格里面

清空好像是有clear函数吧,这个给忘了


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
版主

经验值: 17323
发帖数: 8474
精华帖: 18
回复:MSFlexGrid控件怎么打印另存EXCEL和清空


只看楼主 2楼 2021-07-23 08:08:01

MSFlexGrid1. Clear

该方法清除 MSFlexGrid 的内容。这包括所有文本、图片和单元格式。Clear 方法并不影响 MSFlexGrid 上的行数和列数。


无论成与败,无论甜与苦,我还是我。
以下网友喜欢您的帖子:

  
侠客

经验值: 841
发帖数: 66
精华帖: 0
回复:MSFlexGrid控件怎么打印另存EXCEL和清空


只看楼主 楼主 3楼 2021-07-23 13:57:20

用clear,数据格式都是删除,打印怎么弄



 
以下网友喜欢您的帖子:

  
侠士

经验值: 1192
发帖数: 86
精华帖: 1
回复:MSFlexGrid控件怎么打印另存EXCEL和清空


只看楼主 5楼 2021-07-25 10:16:22

楼上的搞清楚,这不是西门子的控件


 
以下网友喜欢您的帖子:

  
至圣

经验值: 28602
发帖数: 10825
精华帖: 131
回复:MSFlexGrid控件怎么打印另存EXCEL和清空


只看楼主 6楼 2021-07-25 20:40:09
以下是引用耳热在2021-07-23 14:58:28的发言 >4楼

有没有人知道这个控件怎么打印?发现西门子控件功能太low了,打印功能都没得

其实不是西门子LOW, 而是你LOW。 


表格的处理导出, 那是你自己的事, 是你自己能力的体现。 


通常,我们在面对需要导出EXCEL功能的时候,不会选择各类grid控件,而是会选用OWC spread sheet, 那东东因为源出微软,所以跟EXCEL结合地更融洽。 



微信公众号:PLC标准化编程,ZHO6371995
以下网友喜欢您的帖子:

  
至圣

经验值: 28602
发帖数: 10825
精华帖: 131
回复:MSFlexGrid控件怎么打印另存EXCEL和清空


只看楼主 7楼 2021-07-27 13:53:16

做设计能做出甲方爸爸的感觉来,指挥方遒, 全世界都对不起我。 


真的服了。 



微信公众号:PLC标准化编程,ZHO6371995
以下网友喜欢您的帖子:

  
侠圣

经验值: 2210
发帖数: 263
精华帖: 6
回复:MSFlexGrid控件怎么打印另存EXCEL和清空


只看楼主 8楼 2021-07-29 11:12:30
以下是引用耳热在2021-07-23 13:57:20的发言 >3楼

用clear,数据格式都是删除,打印怎么弄


给你推荐个ReportX控件,兼容性好,可以直接跟EXCEL结合,可以做模板。不需要自己脚本设置格式,缺点,数据有点慢。


wincc报表全套教材书+视频教程+实例:2606352062
以下网友喜欢您的帖子:

  
新手

经验值: 20
发帖数: 1
精华帖: 0
回复:MSFlexGrid控件怎么打印另存EXCEL和清空


只看楼主 9楼 2021-08-12 16:52:04

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)            

Dim ExcelApp 

Dim ExcelBook 

Dim ExcelSheet

Dim MSFlexGrid1 

Dim i,irow,ICOL,t

Dim z,k,filename,rptname

Set MSFlexGrid1 = ScreenItems("MSFlexGrid1")

Set ExcelApp = CreateObject("Excel.Application")

Set ExcelBook = ExcelApp.Workbooks.Add

Set ExcelSheet = ExcelBook.Worksheets(1)

rptname=MSFlexGrid1.TextMatrix(0, 0)

ExcelApp.Visible = True


If MSFlexGrid1.Cols = 3 Then

ExcelSheet.Range("A1:C1").Merge

End If

If MSFlexGrid1.Cols = 4 Then

ExcelSheet.Range("A1:D1").Merge

End If

If MSFlexGrid1.Cols = 5 Then

ExcelSheet.Range("A1:E1").Merge

End If

If MSFlexGrid1.Cols = 6 Then

ExcelSheet.Range("A1:F1").Merge

End If

If MSFlexGrid1.Cols = 7 Then

ExcelSheet.Range("A1:G1").Merge

End If

If MSFlexGrid1.Cols = 8 Then

ExcelSheet.Range("A1:H1").Merge

End If

If MSFlexGrid1.Cols = 9 Then

ExcelSheet.Range("A1:I1").Merge

End If

If MSFlexGrid1.Cols = 10 Then

ExcelSheet.Range("A1:J1").Merge

End If

If MSFlexGrid1.Cols = 11 Then

ExcelSheet.Range("A1:K1").Merge

End If

If MSFlexGrid1.Cols = 12 Then

ExcelSheet.Range("A1:L1").Merge

End If

If MSFlexGrid1.Cols = 13 Then

ExcelSheet.Range("A1:M1").Merge

End If

If MSFlexGrid1.Cols = 14 Then

ExcelSheet.Range("A1:N1").Merge

End If

If MSFlexGrid1.Cols = 15 Then

ExcelSheet.Range("A1:O1").Merge

End If

If MSFlexGrid1.Cols = 16 Then

ExcelSheet.Range("A1:P1").Merge

End If

If MSFlexGrid1.Cols = 17 Then

ExcelSheet.Range("A1:Q1").Merge

End If

If MSFlexGrid1.Cols = 18 Then

ExcelSheet.Range("A1:R1").Merge

End If

If MSFlexGrid1.Cols = 19 Then

ExcelSheet.Range("A1:S1").Merge

End If

If MSFlexGrid1.Cols = 20 Then

ExcelSheet.Range("A1:T1").Merge

End If


For irow = 0 To MSFlexGrid1.Rows - 1 

For ICOL = 0 To MSFlexGrid1.Cols - 1 

z=MSFlexGrid1.Rows

ExcelSheet.Cells(irow + 1,icol+1)=Trim(MSFlexGrid1.TextMatrix(irow, icol)) 

Next 

Next 


If MSFlexGrid1.Cols = 3 Then

ExcelSheet.Range( "A1:C"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:C"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:C"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:C"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 4 Then

ExcelSheet.Range( "A1:D"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:D"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:D"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:D"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 5 Then

ExcelSheet.Range( "A1:E"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:E"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:E"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:E"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 6 Then

ExcelSheet.Range( "A1:F"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:F"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:F"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:F"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 7 Then

ExcelSheet.Range( "A1:G"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:G"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:G"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:G"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 8 Then

ExcelSheet.Range( "A1:H"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:H"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:H"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:H"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 9 Then

ExcelSheet.Range( "A1:I"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:I"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:I"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:I"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 10 Then

ExcelSheet.Range( "A1:J"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:J"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:J"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:J"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 11 Then

ExcelSheet.Range( "A1:K"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:K"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:K"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:K"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 12 Then

ExcelSheet.Range( "A1:L"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:L"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:L"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:L"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 13 Then

ExcelSheet.Range( "A1:M"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:M"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:M"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:M"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 14 Then

ExcelSheet.Range( "A1:N"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:N"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:N"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:N"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 15 Then

ExcelSheet.Range( "A1:O"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:O"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:O"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:O"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 16 Then

ExcelSheet.Range( "A1:P"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:P"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:P"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:P"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 17 Then

ExcelSheet.Range( "A1:Q"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:Q"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:Q"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:Q"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 18 Then

ExcelSheet.Range( "A1:R"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:R"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:R"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:R"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 19 Then

ExcelSheet.Range( "A1:S"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:S"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:S"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:S"&z&"").Borders(4).Weight =2

End If

If MSFlexGrid1.Cols = 20 Then

ExcelSheet.Range( "A1:T"&z&"").Borders(1).Weight =2

ExcelSheet.Range( "A1:T"&z&"").Borders(2).Weight =2

ExcelSheet.Range( "A1:T"&z&"").Borders(3).Weight =2

ExcelSheet.Range( "A1:T"&z&"").Borders(4).Weight =2

End If


ExcelSheet.Rows(1).RowHeight = 0.75/0.035

ExcelSheet.Cells.EntireColumn.AutoFit

ExcelSheet.Rows(1).Font.Name = "宋体"

ExcelSheet.Rows(1).Font.Bold = True

ExcelSheet.Rows(1).Font.Size = 16 

ExcelSheet.Cells.HorizontalAlignment =3

'ExcelSheet.PageSetup.TopMargin = 2/0.

 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
MSFlexGrid控件怎么打印另存EXCEL和清空
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。