在没有安装Excel的情况下,将CSV文件转换为PowerShell中的Excel工作簿
我在远程服务器上运行PowerShell脚本,以.csv文件的forms生成报告。 我想将这些CSV文件作为单个Excel工作簿的单个工作表。
但是,远程服务器没有安装Office,因此我无法使用Com对象方法。
此外,“Microsoft.JET.OLEDB.4.0”和“Microsoft.ACE.OLEDB.12.0”提供者都没有在机器上注册。
我无法下载任何东西,因为脚本必须是通用的,并且能够在大型服务器池中的任何服务器上工作。
有什么方法可以达到我的目标,还是我已经死了?
或者,我可能可以将CSV文件链接到一起,以便可以单击一个单元格,并打开其他CSV文件?
快速的帮助表示赞赏。
检查这是否符合您的需求:
CSV到没有安装Excel的多页XLS。 电源shell
你将需要在你打算生成excel工作簿的任何服务器上安装powershell模块。
如果你可以运行Python3代码,在这里(将CONSTS改为你的需要!)
# CONSTS: input_file = "import.csv" # import file (.csv) output_file = "export.xlsx" # only .xlsx csv_seperator = "," # CONSTS END import openpyxl file = open(input_file, "r") # Load file wb = openpyxl.Workbook() # Create empty xlsx ws = wb.active linec = 1 for line in file: split = line.split(csv_seperator) columnc = 1 for v in split: c = ws.cell(row = linec, column = columnc) try: int(v) # Numbers should be saved as numbers. c.value = int(v) except: c.value = v columnc += 1 linec += 1 wb.save(output_file) print("Finished!")
这需要Import.csv并将其转换为Export.xlsx
请注意,为了正常工作,您需要openpyxl(Python_base_dir – > Scripts – > pip install openpyxl
编辑:将文件和csv_seperator作为参数,将CONSTS部分更改为:
import sys input_file = sys.argv[1] # import file (.csv) output_file = sys.argv[2] # only .xlsx csv_seperator = sys.argv[3]
用法:python csvconv.py Import.csv Export.csv,
请注意,目前还没有Index-Out-Bound-Bound捕捉器,所以当没有提供参数的时候它会崩溃!