【发布时间】:2018-11-29 14:02:36
【问题描述】:
我有一个用于将某些用户信息从 Active Directory 导出到 .csv 文件的 Powershell 脚本。我想通过 Excel 对这些数据应用格式。
有什么办法可以使 Powershell 创建的文件一方面是可格式化的 Excel 文件,另一方面是自动格式化(粗体/下划线列、调整列宽以适合所有数据等),而无需任何用户干预?也许将其附加到某种模板?
此文件的目的是供最终用户下载。有点像用户目录。用户可以到网络驱动器位置获取每周更新的员工列表以及有关他们的信息(部门、电话号码等),并将该列表打印出来。理想情况下,这将在最终用户方面不做任何工作的情况下完成。或者,我可以自己每周格式化一次此列表。但如果有更好的方法,那我就全神贯注了。
【问题讨论】:
-
不知道not user-friendly是什么意思? 究竟 的输出有什么问题,以及所需的输出是什么样的。这个要求大部分是主观的。 CSV 只是原始数据格式。如果您愿意,Excel 会让它看起来“漂亮”。
-
我不知道有任何 PowerShell cmdlet 可以完成此操作,但可以使用 PowerShell 中的 EPPlus 之类的实用程序。
-
Import-Excel by Doug Finke 使用类似于 Import-CSV/Export-CSV 的 EPPlus 库和函数。否则,您可以将 Excel 作为 COMObject 进行交互以进行格式化。
-
除非最终用户需要与电子表格交互,否则您可以考虑改为创建 HTML 报告 - 请参阅
ConvertTo-Html -
我成功了!我使用了 Import-Excel,经过一番折腾之后,它就像一个魅力。对于任何对我的实现感兴趣的人,我正在使用我使用的代码更新 OP。感谢 StefTheo 和 BenH 的获奖推荐!
标签: excel powershell csv formatting export