wincc报表到excel

本人做了个wincc的报表,使用的copy的别人的脚本,把变量输出到txt文件还可以。现在想把变量输出到excel中,请各位看一下下面的这段脚本该如何修改?脚本中的一段如下(在定义的10点42分把两个变量的值写到名字是report的txt记事本中)
if(hour_int==10&&minute_int==42)
{
ml1=GetTagFloat(

问题补充:
本人做了个wincc的报表,使用的copy的别人的脚本,把变量输出到txt文件还可以。现在想把变量输出到excel中,请各位看一下下面的这段脚本该如何修改?脚本中的一段如下(在定义的10点42分把两个变量的值写到名字是report的txt记事本中)
if(hour_int==10&&minute_int==42)
{
ml1=GetTagFloat("1PDC_ML_ACC");
ml2=GetTagFloat("2PDC_ML_ACC");

pFile=fopen("e:\\report.txt","a+");
fprintf(pFile,"\n%04dÄê%02dÔÂ%02dÈÕ%02d:%02d:%02d\t",sysTime.wYear,sysTime.wMonth,sysTime.wDay,sysTime.wHour,sysTime.wMinute,sysTime.wSecond);
fprintf(pFile,"%f\t     ",ml1);
fprintf(pFile,"%f\t",ml2);

fclose(pFile); 
SetTagFloat("1PDC_ML_ACC",0);
SetTagFloat("2PDC_ML_ACC",0);
现在我想把变量输出到excel中,请问该如何修改这段脚本?如果能输出到excel的话,如何定义两个变量写到excel中的哪行哪列呢?非常感谢!!

最佳答案

这是我做的vb读写excel的脚本做在一个按钮里面的,你可以修改一下就用了:
Sub OnClick(ByVal Item)                                     
Dim fso,myfile
Set fso = CreateObject("scripting.FileSystemObject")
Set MyFile = fso.GetFile("d:\\data.xlsx")
Dim ObjExcelApp
Set objExcelApp = CreateObject("Excel.Application")
'objExcelApp.Visible = True
objExcelApp.Workbooks.Open MyFile
'上面的程序段是为了打开d盘excel文件
Dim aa_data
objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue = HMIRuntime.Tags("aa").read
Dim i,j
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>1.0 Then
i=2
j=6
End If
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>0.8 And  objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<1.0 Then
i=7
j=11
End If
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>0.6 And  objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<0.8 Then
i=12
j=16
End If
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<0.6Then
i=17
j=21
End If
'判断数据保存位置
Do While i<j
objExcelApp.worksheets ("sheet1").Cells(i, 1).VAlue =objExcelApp.worksheets ("sheet1").Cells(i+1, 1).VAlue
objExcelApp.worksheets ("sheet1").Cells(i, 2).VAlue = objExcelApp.worksheets ("sheet1").Cells(i+1, 2).VAlue
i=i+1 
Loop 
objExcelApp.worksheets ("sheet1").Cells(i, 1).VAlue =HMIRuntime.Tags("yy").read
objExcelApp.worksheets ("sheet1").Cells(i, 2).VAlue =HMIRuntime.Tags("xx").read

'写数据到excel表格
objExcelApp.ActiveWorkbook.Save
'保存表格
Dim cons_data,ax1_data,ax2_data,ax3_data,ax4_data,ax5_data,ax6_data
Set cons_data=HMIRuntime.Tags("cons")
Set ax1_data=HMIRuntime.Tags("ax1")
Set ax2_data=HMIRuntime.Tags("ax2")
Set ax3_data=HMIRuntime.Tags("ax3")
Set ax4_data=HMIRuntime.Tags("ax4")
Set ax5_data=HMIRuntime.Tags("ax5")
Set ax6_data=HMIRuntime.Tags("ax6")


cons_data.Value = objExcelApp.worksheets ("sheet1").Cells(23,7).value
ax1_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 6).value
ax2_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 5).value
ax3_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 4).value
ax4_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 3).value
ax5_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 2).value
ax6_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 1).value
'上面的作用是将Excel表格中的数据读到wincc,存到临时变量里面
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set ObjEXceLapp = Nothing
'到这里为止,关闭刚才打开的excel程序了
cons_data.Write 
ax1_data.Write 
ax2_data.Write 
ax3_data.Write 
ax4_data.Write 
ax5_data.Write 
ax6_data.Write 
'最后是把读到的excel值从临时变量中写入它对应的wincc变量中


End Sub

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午3:54
下一篇 2019年6月11日 上午3:54

相关推荐

  • 删除画面时出现的疑问

    各位大侠,我在wincc v7图形编辑器里删除某个画面时出现如图1所示弹出画面, 且不能删除该画面,不知何故?请不吝赐教!谢谢! 图片说明:  &nb…

    SIMATIC WinCC 2017年11月12日
  • wincc 怎样用脚本添加内嵌画面窗口

    wincc 怎样用脚本添加内嵌画面窗口。我用脚本想添加多个内嵌画面窗口。dim jj  as ***? 钻石用户推荐最佳答案 创建…

    SIMATIC WinCC 2020年11月1日
  • 自定义数据库生成的报表,如何筛选一列的最大值和最小值?

    求详细脚本参照一下,或者详细步骤 ,谢谢啊 最佳答案 select max(字段),min(字段) from 表 where&nb…

    SIMATIC WinCC 2017年7月26日
  • wincc 自定义脚本函数的变量 实时显示到HMI屏幕上

    现在自己通过C-Script调试好了自己的函数,但是如何将函数中的变量(字符串、数字)实时显示到HMI屏幕上,就如C语言中的Printf功能?我测试了,可以通过返回值,显示最后的结…

    SIMATIC WinCC 2020年11月1日
  • wincc 6.0 sp4 的授权问题

    我们正在使用的wincc sp3 有问题,系统每隔25天需要重新启动。但是这个是通用设备,根本不能经常重启,我们正准备购买sp4的license。但是目前我需要…

    SIMATIC WinCC 2019年6月11日
  • 计算机名称改后,wincc字符显示???

    我在建立WINCC6.2.2项目时,计算机名称和wincc服务器的计算机名称不一致,画面已经做了2个,后来需要运行时,发现名称不一致,改了计算机本身的名称后,温度单位,流量单位都不…

    SIMATIC WinCC 2019年6月11日
  • WINCC6.0安装问题

    WINCC6.0安装完成后为什么帮助系统没有? 最佳答案 这种情况一般是不会出现的,因为帮助信息是安装wincc时候就直接关联安装的!并不是可选组件! 出现这个问题,如果…

    SIMATIC WinCC 2019年6月11日
  • wincc用户登录自动退出功能

    各位专家和兄弟们:    wincc用户登录自动退出功能怎么实现?有些电脑不用人监控,操作人员操作后有时候忘了退出操作权限,能不能设定下5分…

    SIMATIC WinCC 2019年6月11日
  • wincc远距离同组态王通信

    我们单位一台设备是用组态王监控的,住监控室里是用的wincc,我打算用wincc与组态王OPC通信,把组态王的几个关键点直接在wincc里看,这样就不用两边老跑了,可是问题是他们之…

    SIMATIC WinCC 2019年6月11日
  • wincc归档错误

    归档片段设置单个片段时间范围和尺寸,两个条件都未到,但是生成了归档片段,有时候一分钟一个,有时10分钟一个,有时半小时一个。 问题补充:大小尺寸大了没有关系吧,绝对不会超过200M…

    SIMATIC WinCC 2021年7月5日