在没有安装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捕捉器,所以当没有提供参数的时候它会崩溃!