⑴ 怎样在web中实现报表打印和打印预览
一、 浏览器的菜单打印功能
这是最简单的,只需点击页面上的打印菜单,但是也是问题最多的,基本上是不能满足用户需要。比如:不能精确分页,有出现打出半行字的风险;改变纸型后打印出的格式和页面显示的格式相差太大;页眉页脚也需要从菜单中去设置,等等等等。这种方案最大的优势就是不需要做任何代码,点击打印就可以了。
二、 window.Print()
这实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型,套打的问题更加无从谈起,只不过,可以让用户不用去点菜单,直接点击网页中的一个按钮,或一个链接里面调用罢了。
需要指出的是这种方法提供一个打印前和打印后的事件onbeforeprint、onafterprint。可以在打印前的时候重新编辑一些格式,专门送去打印,打印后又处理回来。
function window.onbeforeprint()
{
//将一些不需要打印的隐藏
}
function window.onafterprint()
{
//放开隐藏的元素
}
事实上,很多用户都是采用这种方式打印,但是这种方式最致命的缺点是不能设置打印参数,比如纸型,页边距,选择打印机等等。
三、 导出excel导出pdf文件的打印
将需要打印的数据导出excel文件或者导出pdf文件,然后打开excel文件或者pdf文件重新打印,用这种方案能实现精确的打印,套打也能实现,但是需要客户端安装excel和adobe软件,操作起来也有些麻烦,并且导出的excel文件可以重新修改编辑,一般用户都会要求系统提供这种导出的方案,也同时需要直接打印的功能,所以个人觉得这种方案也不能很好的解决打印的问题。
四、 纯ActiveX控件
这种方案其实就是编写一个C/S的打印控件,然后嵌入到页面里面,将要打印的数据装入到控件中,然后打印。这种方案的优点是打印精度高,分页,设置打印参数等等都能实现。但是缺点也是很明显的,嵌入ActiveX控件破坏了web应用的整体html风格,且这样的控件通常都比较大,一般都超过1M,下载很慢。
⑵ 如何使用WinCC DataMonitor基于Web发布浏览Excel报表文档
摘 要 本文通过制作一个日报表的过程,介绍了在本地或远程计算机上如何通过Excel访问WinCC的变量归档数据。
关键词 WinCC、Excel、VBA、脚本、连通性软件包
Key Words WinCC、Excel、VBA、Script、Connectivity Pack
目 录
1 功能说明
2 软件环境
3 WinCC/Connectivity Pack 介绍
3.1 连接字符串
3.2 查询语句
3.3 查询结果
4 本地计算机访问
4.1 WinCC组态
4.1.1 WinCC中创建变量
4.1.2 变量归档组态
4.2 Excel组态
4.2.1 创建Excel模板
4.2.2 在Excel中编写脚本
4.2.3 调用脚本
4.2.4 运行Excel中的脚本
5 远程计算机访问
5.1 OLE-DB接口
5.2 WinCC运行数据库名称的获得
1 功能说明
在Microsoft office Excel中访问WinCC的历史数据,实现如下图所示的报表:
图1: Excel中访问WinCC的历史数据生成报表
选择日期后,可以生成当天的风机参数日报表(报表数据来自WinCC)。
2 软件环境
本地计算机:Windows XP SP3英文版、WinCC7.0 SP2 ASIA、Microsoft office Excel 2003
远程计算机:Windows XP SP3英文版、WinCC7.0 SP2 ASIA、Microsoft office Excel 2003
3 WinCC/Connectivity Pack 介绍
WinCC变量归档数据是以压缩的形式存储在数据库中,需要通过 WinCC/Connectivity Pack提供的OLE-DB接口才能够解压并读取这些数据。
3.1 连接字符串
“Provider=WinCCOLEDBProvider.1; Catalog= ***; Data Source= ***;“
其中:
Catalog:WinCC运行数据库的名称
注意:当修改项目名称或在其它计算机上打开原项目时, Catalog会发生变化。
建议使用WinCC系统变量 “@DatasourceNameRT” 获得当前的Catalog。
Data Source :服务器名称
本地:“.\WinCC” 或者 “\WinCC”
远程:“\WinCC”
3.2 查询语句
“TAG:R,,,[,][,]”
其中:
ValueName:格式为“ArchiveName\Value_Name”,可以使用多个名称。
TimeBegin,TimeEnd:时间范围,格式 “YYYY-MM-DD hh:mm:ss.msc”。
SQL_Clause:SQL 语法中的过滤标准。
3.3 查询结果
注意,WinCC的归档数据是使用UTC(协调世界时)时间保存的。
4 本地计算机访问
4.1 WinCC组态
4.1.1WinCC中创建变量
Fan1_T1:进口温度
Fan1_T2:出口温度
Fan1_P1:进口压力
Fan1_P2:出口压力
4.1.2变量归档组态
1)对以上变量进行归档,归档周期为1小时:
图2: 变量归档
2)设置整点归档
选择“1小时”定时器,右键,选择“属性”:
图3:定时器设置
在定时器属性对话框中,设置输入循环起始点为0分0秒:
图4:定时器属性设置
4.2 Excel组态
4.2.1创建Excel模板
创建如下图所示的Excel模板:
图5:Excel模板
其中,每天整点的参数值从WinCC数据库中直接读取,平均值、最大值、最小值由Excel本身的函数实现。
关于如何插入日期控件:
第一步,显示控件工具箱:
图6:显示“控件工具箱”
第二步,在控件工具箱中选择“其它控件”,然后选择“Microsoft Date and Time Picker Control6.0”,把控件放到合适的位置并拖拽到合适大小。
图7:插入日历控件
4.2.2在Excel中编写脚本
1)VBA编辑器
点击“工具”菜单à“宏”à“Visual Basic 编辑器”,打开Excel VBA编辑器:
图8:打开VBA编辑器
2)创建读取WinCC历史数据的VBA子程序get_wincc_data:
图9:get_wincc_data
脚本包括以下几部分:
(1)获得WinCC运行数据库名称
以上脚本只能读取本地WinCC的变量值,并且需要插入“WinCC HMIRuntime 1.0 Type Library”对象:
图10:插入“WinCC HMIRuntime 1.0 Type Library”对象
(2)创建连接字符串:
(3)转换查询时间为UTC时间:
(4)四个参数值的查询(以查询“进口温度”为例):
4.2.3 调用脚本
在时间控件Change事件中调用子程序get_wincc_data :
4.2.4运行Excel中的脚本
首先要设置宏的安全性为“中”或“低”(不建议使用):
图11:“宏”安全性设置1
图12:“宏”安全性设置2
若宏的安全性为 “低”,脚本将直接运行,没有任何提示;若宏的安全性为 “中”,则打开Excel时将有如下提示:
图13 安全提示
此时,通过日期控件选择日期后,Excel读取WinCC的数据并写入到不同的单元格中:
图14:运行结果
DEMO程序请参考附件中的report_demo_local.xls 文件。
5 远程计算机访问
Excel访问远程计算机WinCC的历史数据,需要注意:
5.1 OLE-DB接口
如果客户端计算机没有安装WinCC或者DataMonitor软件,则需要安装Connectivity Pack软件来提供OLE-DB接口。
5.2 WinCC运行数据库名称的获得
可以通过以下两种方法在Excel中中读取远程WinCC运行数据库的名称:
1)编写OPC客户端脚本
WinCC激活后将作为一个标准的OPC服务器,可以在Excel中编写OPC 客户端脚本读取变量“@DatasourceNameRT”的值。请参考文档《如何在Excel中访问WinCC变量归档数据》:
注意,访问远程OPC服务器,需要设置DCOM,请参考《如何配置OPC DCOM》:
2)使用以下脚本也可以获得远程WinCC运行数据库的名称:
使用以上脚本时需要注意:
(1)在Excel计算机用户管理下注册WinCC计算机的(可以登录WinCC/SQL)用户名和密码。
(2)修改Excel计算机Windows的hosts文件:
DEMO程序请参考附件中的report_demo_remote.xls文件。
如果您对该文档有任何建议,请将您的宝贵建议提交至下载中心留言板。
该文档的文档编号:A0567
附录-推荐网址
SIMATIC HMI人机界面
西门子(中国)有限公司
工业自动化与驱动技术与楼宇科技集团 客户服务与支持中心
网站首页:
WinCC下载中心:
HMI全球技术资源:
“找答案”WinCC版区:
注意事项
应用示例与所示电路、设备及任何可能结果没有必然联系,并不完全相关。应用示例不表示客户的具体解决方案。它们仅对典型应用提供支持。用户负责确保所述产品的正确使用。这些应用示例不能免除用户在确保安全、专业使用、安装、操作和维护设备方面的责任。当使用这些应用示例时,应意识到西门子不对在所述责任条款范围之外的任何损坏/索赔承担责任。我们保留随时修改这些应用示例的权利,恕不另行通知。如果这些应用示例与其它西门子出版物(例如,目录)给出的建议不同,则以其它文档的内容为准。
声明
我们已核对过本手册的内容与所描述的硬件和软件相符。由于差错难以完全避免,我们不能保证完全一致。我们会经常对手册中的数据进行检查,并在后续的版本中进行必要的更正。欢迎您提出宝贵意见。
版权? 西门子(中国)有限公司2001-2011 版权保留
复制、传播或者使用该文件或文件内容必须经过权利人书面明确同意。侵权者将承担权利人的全部损失。权利人保留一切权利,包括复制、发行,以及改编、汇编的权利。
⑶ web电子表格与EXCEL表格有什么区别
word表格为文字排版为主,有简单计算功能。可以成版面
excel表格可以用于大量的计算公式。
⑷ web报表工具根据什么去选型
不同的人或者项目关注点不同,所以要先看自己的需求是什么,确定需求后再去产品选型。
目前比较关注的几个点是:
1、性价比
2、开发平台,java或者.net等
3、产品功能。
可以参考下润乾报表:
1、简单行列报表、中国式复杂报表,报表工具都能轻松实现。
2、创新的流式大报表,秒级的呈现速度,极少的内存占用,流畅的Excel导出和直接打印!而且,流式大报表不依赖于数据库的分页能力。
3、支持数据录入。数据录入可以做到来去无关,来去自由。网页上录入可以做到数据合法性校验和自动计算。结合集算器,可以做到任意数据源的录入。
4、类似Excel的填报设计器,业务人员完成设计后上传服务器,填写人员即可网上填写!收集上来的数据,业务人员还可以在润乾BI中自助分析!
5、大屏展示、炫酷的统计图、方便的手机统计图表,都能实现。
支持HTML5和SVG图形格式,具备丰富的表现力,能够设计出超酷的统计图形。同时,可以降低传输流量,更适合移动设备。
集成免费的网络echarts、D3、chart.js,有更多炫酷统计图可供选择。
6、提供整套报表平台。从用户管理到权限登录,只要配置一下就可以直接上线使用。更重要的是,报表中心完全开源,想怎么改就怎么改。
7、提供强大的自助报表功能,轻松实现用户拖拽报表。自定义报表的数据源可以是SQL,也可以是文本、JSON或者Excel文件。提供的自助报表,可以作为一个插件集成到应用系统中,成为应用系统的一部分,还可以深度定制,充分满足不同用户的个性化需求。
⑸ 怎么在web中实现类似excel的表格控件
你说的是纯前端具有类似Excel操作的表格控件吧?根据你的需求来分析,SpreadJS应该比较符合你的需求,这个控件可嵌入系统并实现在线Excel的功能。
详细的信息,可以参考下面的描述
http://www.gcpowertools.com.cn/procts/spreadjs/
⑹ excel表格可以在web展示吗
使用IE浏览器来打开excel文档展示是可行的。右击需要打开的excel表选择“打开方式”再选“IE浏览器”然后如下图选项“打开 不自动保存文件”就可以用浏览器打开Excel表格了。
⑺ 如何在web中实现类似excel的表格控件
SpreadJS 可以使用 Excel ExcelIO 服务来和Excel文件交互。ExcelIO服务需要部署到服务端,通过 ExcelIO 服务你可以导入 Spread 文件后你可以和表单中的数据交互
⑻ 如何使用Excel2010的Web,Apps在线编辑工作表
进入google主页,左上角有个【更多】,点一下再丫文档】,这里可以上传excel文件,并可以在线编辑、保存等。 另外一个选择是微软最近推出的在线文档,是集成在微软的 SkyDrive 网络硬盘中的,全名叫做 Office Web Apps on SkyDrive
⑼ 怎样把Excel从web获取的数据(如一个价格),做成图表(如跟踪这个价格的走势)
以下为搜索到的内容,请参看:
Excel 股票行情,用VBA取多个股票实时股价、进行技术分析
参照http://club.excelhome.net/viewthread.php?tid=261193。
点击右上角的“刷新”按钮即可更新股票信息。
感谢yier_fang大哥。
新版的Excel 股票行情发布在我的主页:
https://sourceforge.net/projects/excelstocker/files/
1.变更实时数据来源为新浪财经;
2.增加LEVEL2分析;
3.增加多种技术参数。
⑽ 在Java Web开发时怎么将页面上的数据用Excel报表导出来
有两种方法一个是用POI,另一种是JXL都是别人的包,自己操作到处excel
自己在前端写一个弹出窗口选择路径之后传到代码里操作
并不能像javaswing那样方便的使用导入导出功能web需要自己实现