You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用QTP/UFT Datatable方法为导出的XLS文件追加日期?

如何给UFT/QTP导出的XLS文件追加日期时间

我来帮你搞定这个需求!其实核心思路就是先生成符合Windows文件名规则的日期时间字符串,再把它拼到你的目标文件名里,这样每次执行测试导出的文件都会带上执行时间,不会覆盖之前的结果。

具体步骤和代码示例:

  1. 生成合法的日期时间字符串
    Windows文件名不能包含: / * ? " < > |这些字符,所以我们要把时间里的冒号替换掉,或者直接用自定义格式生成无非法字符的字符串。这里给你两种常用方式:
  • 方式一:利用系统格式化函数,替换冒号
' 获取当前时间并格式化为"HH:mm:ss 月/日/年",再把冒号换成横杠
strDateTime = Replace(FormatDateTime(Now(), vbLongTime), ":", "-") & "_" & FormatDateTime(Now(), vbShortDate)
' 生成的结果类似:14-30-25_5/20/2024
  • 方式二:自定义紧凑格式(推荐,更规范且无歧义)
' 生成"yyyyMMdd_HHmmss"格式的字符串,比如20240520_143025
strDateTime = Year(Now()) & _
              Right("0" & Month(Now()), 2) & _
              Right("0" & Day(Now()), 2) & "_" & _
              Right("0" & Hour(Now()), 2) & _
              Right("0" & Minute(Now()), 2) & _
              Right("0" & Second(Now()), 2)
  1. 构建带日期时间的完整文件路径
    把生成的日期时间字符串拼到你的原始文件名末尾:
strTargetFilePath = "D:\QTP_Automation\Test_Results_AutomationTesting_Results_" & strDateTime & ".xls"
  1. 执行导出操作
    用新的文件路径调用ExportSheet,注意两个工作表要导出到同一个文件:
' 导出TestCases工作表到目标文件
DataTable.ExportSheet strTargetFilePath, "TestCases"
' 导出TestSteps工作表到同一个文件(这样两个表会在同一个XLS里)
DataTable.ExportSheet strTargetFilePath, "TestSteps"

注意事项:

  • 确保导出的文件路径已经存在(比如D:\QTP_Automation文件夹必须存在),否则UFT会报错。如果需要自动创建文件夹,可以添加文件夹检查和创建的代码。
  • 如果你希望每次执行的文件都不重复,加上秒数是很有必要的,避免短时间内多次执行导致文件覆盖。

内容的提问来源于stack exchange,提问作者Rajesh Om

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:43:45