python - 如何使用 win32com 模块填充 Excel 中的列表

标签 python excel win32com

我正在尝试将列表写入 Excel,该列表包含几列。

我在下面包含了我的代码。它似乎只提取第一个值。我对 python 还很陌生,我缺少什么?

代码:

import win32com.client as win32
#
Z = [3,4,6,8,9,11,40]
Q = ['x','y','z','e','g','AA','BB']

excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets.Add()
ws.Name = "MyNewSheet"
ws.Range(ws.Cells(1,1),ws.Cells(1,2)).Value = ['Z','Q']
for i,e in enumerate (Z):
ws.Range("A2:A8").Value = [ i for i in (Z)]
for i,e in enumerate (Z):
ws.Range("B2:B8").Value = [ i for i in (Q)]
wb.SaveAs('beta.xlsx')
excel.Application.Quit()

最佳答案

它似乎想要将值写入行。因此,这会将写入重新对齐为按行:

代码:

import win32com.client as win32

Z = [3, 4, 6, 8, 9, 11, 40]
Q = ['x', 'y', 'z', 'e', 'g', 'AA', 'BB']

excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets.Add()
ws.Name = "MyNewSheet"
ws.Range("A1:B1").Value = ['Z', 'Q']
ws.Range("A2:B8").Value = list(zip(Z, Q))
wb.SaveAs('beta.xlsx')
excel.Application.Quit()

结果:

Z   Q
3   x
4   y
6   z
8   e
9   g
11  AA
40  BB

关于python - 如何使用 win32com 模块填充 Excel 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42617549/

相关文章:

python - Popen 不再适用于 apache/wsgi 和 python 2.7.2?

excel - 保留剪切单元格的格式

r - 使用VBA在excel中融化/ reshape ?

excel - 将英尺-英寸转换为英寸 Excel

python - PyWin32 能否为用户提供 "too-much"访问 Win32 API 的权限?

python - python scipy/numpy 中的多项式 pmf

python - 在 __del__ 中关闭/处置对象真的可以吗?

python - $ python -c "script"中的反斜杠

python - 将 win32com 与多线程一起使用

python - 如何使用Python在Excel中粘贴特殊内容