我在远程服务器上运行PowerShell脚本,该脚本以.csv文件的形式生成报告。我想将这些csv文件作为单个Excel工作簿的单独工作表加入。
但是,远程服务器没有安装Office,因此我无法使用Com-Object方法。
此外,“Microsoft.JET.OLEDB.4.0”和“Microsoft.ACE.OLEDB.12.0”提供程序均未在计算机上注册。
我无法下载任何内容,因为脚本必须是通用的,并且应该能够在大型服务器池中的任何服务器上运行。
有什么方法可以达到我的目标或者我走到了死胡同?
或者我是否可以将CSV文件链接在一起,以便点击一个单元格,然后打开其他CSV文件?
快速帮助表示赞赏。
答案 0 :(得分:0)
如果你可以运行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 - >脚本 - > 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-Of-Bound捕手,所以当没有提供参数时它会崩溃!
答案 1 :(得分:0)
检查这是否符合您的需求:
CSVs to multi-sheet XLS without Excel installed. Powershell
您需要在要生成excel工作簿的任何服务器上安装powershell模块。