请问大家WINCC用户归档导出来的数据怎么修改成EXECL格式的文件?

请问大家WINCC用户归档导出来的数据怎么修改成EXECL格式的文件?能把分号替换吗?然后和EXECL一样用单元格显示出来,谢谢!

最佳答案

Dim UA,col,row,rows
Dim xlapp,objsheet
Dim i,j,k,m,n,filename
Set UA=ScreenItems("UA")
Set rows=UA.GetRowCollection
m=rows.Count
n=UA.ColumnCount
If m>1 Then ''如果用户归档控件有记录
   Set xlapp=CreateObject("Excel.Application")
   xlapp.visible=False
   xlapp.workbooks.add
   Set objsheet=xlapp.worksheets(1)
   For k=1 To n
     ua.ColumnIndex=k-1
     objsheet.cells(3,k)=ua.ColumnCaption ''字段名称
   Next
   objsheet.cells(1,1)="生产报表"
   For i=1 To m
       For j= 1 To n
           objsheet.cells(i+3,j)=ua.GetRow(i).celltext(j)
       Next
   Next
''以下代码处理日期时间数据格式以及表格边框线、标题合并单元格等排版
   objsheet.range("a1:p1").mergecells=True
   objsheet.range("b2:p2").mergecells=True
   objsheet.range("a1").ColumnWidth =11 ''列宽
   objsheet.range("b1").ColumnWidth =8
   objsheet.range("c1").ColumnWidth =8
   objsheet.range("d1").ColumnWidth =8 
   objsheet.range("e1").ColumnWidth =8 
   objsheet.range("f1").ColumnWidth =11 
   objsheet.range("g1").ColumnWidth =8 
   objsheet.range("h1").ColumnWidth =8 
   objsheet.range("i1").ColumnWidth =11 
   objsheet.range("j1").ColumnWidth =8
   objsheet.range("k1").ColumnWidth =8
   objsheet.range("l1").ColumnWidth =8
   objsheet.range("m1").ColumnWidth =11 
   objsheet.range("n1").ColumnWidth =11
   objsheet.range("o1").ColumnWidth =11 
   objsheet.range("p1").ColumnWidth =11
   
  Dim myDy
  Dim Seldate
   Seldate=HMIRuntime.Tags("myDate").Read
   myDy=CStr(Year(Seldate)) +"-" +CStr(Month(Seldate))+"-"+CStr(Day(Seldate))
  
   objsheet.cells(2,1)="报表日期:"
   ''objsheet.cells(2,2)=Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日"
   objsheet.cells(2,2)=myDy
   objsheet.cells(1,1).HorizontalAlignment = 3''居中
   objsheet.cells(2,2).HorizontalAlignment = 2
   
   objsheet.range("a1:p" & CStr(3+m)).borders(1).linestyle=9
   objsheet.range("a1:p" & CStr(3+m)).borders(1).weight=2
   objsheet.range("a1:p" & CStr(3+m)).borders(2).linestyle=9
   objsheet.range("a1:p" & CStr(3+m)).borders(2).weight=2
   objsheet.range("a1:p" & CStr(3+m)).borders(3).linestyle=9
   objsheet.range("a1:p" & CStr(3+m)).borders(3).weight=2
   objsheet.range("a1:p" & CStr(3+m)).borders(4).linestyle=9
   objsheet.range("a1:p" & CStr(3+m)).borders(4).weight=2
   
 

   
 ''保存文件
   filename= "c:\" & mydy & " 报表 " & Year(Now) & "-" & Month(Now) & "-" & Day(Now) & " " & Hour(Now) & ":" & Minute(Now) & ":" & Second(Now) & " 生成.xlsx"
   xlapp.Activeworkbook.saveas (filename)
   xlapp.workbooks.close
   xlapp.quit
   Msgbox "成功导出到C:\"
Else
   Msgbox "用户归档没有记录"
End If

提问者对于答案的评价:
谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc315088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午4:04
下一篇 2020年11月1日 下午4:04

相关推荐

  • wincc自带的项目函数的说明在那可以找到

    我想问到wincc自带的项目函数的说明在那里可以找到? 最佳答案 WINCC自带帮助手册里面有->全局脚本函数描述,这一章,再那里面有说明,主要是内部函数,其他C语言的运算转…

    SIMATIC WinCC 2019年6月11日
  • 关于安装HORN的问题

    最近要用到HORN做报警,但之前没装,后来将它补装上了。但打开HORN后只有上面的几个选项,下面应该是表格用于加变量的地方除了灰色什么都没有,是安装时的问题吗?因为已经有授权了所以…

    SIMATIC WinCC 2019年6月11日
  • wincc pro报警过滤特别慢怎么办?

    wincc pro v14做的上位机画面,C脚本做的过滤条件,感觉慢的惊人啊,估计记录也就有上百条吧,但是需要长达好几分钟才能显示出来。正常吗? 最佳答案 是不…

    SIMATIC WinCC 2017年6月1日
  • wincc4.0文件如何升级到6.0

    如何用WINCC6打开以前用WINCC4做的文件 最佳答案 1。WinCC_V4是SIEMENS公司10年前的版本了,在Windows98和WindowsNT4的系统上运行使用。&…

    SIMATIC WinCC 2019年6月11日
  • 博图V14如何打开V13的项目

    博图V14如何打开V13的项目,提示更新需要项目,如何更新?打开帮助里面文字是乱码。详见图片 图片说明:       最佳答案 1、博途V1…

    2017年6月8日
  • K-TP178 触摸屏,指示灯如何组态?

    库文件没有安装,请问指示灯如何组态啊?请尽量说详细点。最好把组态好的触摸屏给我。谢谢哦 最佳答案 首先,在工具里的图形文件夹里有这样的控件。   &n…

    SIMATIC WinCC 2019年6月11日
  • 1500 WinCC V7.4

    现有项目,原计划使用315-2PN/DP+ET200M现在欲选用1511C-1PN+DP+ET200M,那个便宜一些(原想选1516-3PN/DP,咨询了一下说区域限制),另有两台…

    SIMATIC WinCC 2021年7月5日
  • 项目装载

    wincc5.1移植到6.2后,项目无法装载,名称和路径中没中文名,计算机名称也没问题。       &nbs…

    SIMATIC WinCC 2017年8月3日
  • 请教画面切换(涉及结构变量)问题

    请教画面切换(涉及结构变量)问题 “主画面.pdl”中仅建立了一个“画面窗口1”,以及“进入监控界面”按钮和“进入控制界面”按钮。 “画面窗口1”初始画面名称定…

    SIMATIC WinCC 2019年6月11日
  • WinCC 7.0 SP3中文版某图像根据DB块数据变化进行位置变换

    图如附件所示,红色“I”块为需要位置变换的图像,图像默认有四个位置,变量为“有符号32位”,数据块“DB10.DB6”,现设置几何位置X动态变化,图中设置了DB数据块的四个不同数据…

    2017年12月8日