请问大家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日
下一篇 2020年11月1日

相关推荐

  • wincc7.2结构变量创建后无法在变量管理里面调用

    wincc7.2在结构变量项中创建了结构变量,在新建变量类型中没有结构变量的选项。 图片说明:    最佳答案 如果你想要在新建一个内部变量,用该结构变量;那么…

    2021年7月5日
  • WINCC7.3报警控件列宽的改变

    我把消息文本的字符数从10改到20,报警控件里面列宽还是没有变化。另外,日期和时间2个列字符数默认为0   不能更改。组态错了吗? 最佳答案 查看图片…

    2021年7月5日
  • WINCC加密

    WINCC V6.2 SP2目前有没有适当的加密方法(脚本加密除外),毕竟自己的努力不想任别人去随便涂抹。 最佳答案 WinCC和大部分国外的上位机软件(InT…

    SIMATIC WinCC 2019年6月11日
  • WINCC OA去软件和教程

    同题!谢谢各路大神! 最佳答案 WinCC OA PVSS 简介https://www.ad.siemens.com.cn/download/docM…

    2021年7月5日
  • a

    请问如何将wincc里面的报警记录导入到excel表中,详细些,本人初学者,谢谢 最佳答案 在下载中心搜索文档编号:A04423个办法:1、从 WinCC V6…

    SIMATIC WinCC 2017年11月29日
  • WinCC如何读取RS485发出的仪表信号

    我想通过WinCC直接读取工业仪表(例如流量计量仪表),计量仪表一般有RS485接口,现不知如何实现WinCC与仪表间的信号传输,应该采用何种信号。附件是Modbus T…

    2017年11月25日
  • WinCC6.0 SP3升级补丁!

    哪里有下载WinCC6.0 SP3升级补丁,最好给个连接地址,谢谢!!! 最佳答案 http://support.automation.siemens.com/CN/vi…

    SIMATIC WinCC 2019年6月11日
  • 急求WINCC6.2入门视频教程

    WINCC我一直没接触过,现在公司要使用,急求WINCC的视频教程 最佳答案 西门子官方有很多学习资料可以下载,可以选择自己需要的下载:http://www.ad.siemens.…

    SIMATIC WinCC 2019年6月11日
  • wincc对象属性的控制

    wincc中的对象有没有可以控制显示与否的属性呀,例如通过某些条件控制输入/输出域的显示或隐藏 最佳答案 图形的属性中–其他-显示,右击选变量连接,选要连变量即可. 提问者对于答…

    SIMATIC WinCC 2019年6月11日
  • 寻找软件WinCC/Connectivity Pack V7.3

    在进行WINCC7.3 与西门子触摸屏1500精致通讯设置时,无法生成Rejected文件夹,搜索百度有人说缺少WinCC/Connectivity Pack&…

    SIMATIC WinCC 2021年7月5日