我试图通过Win32COM客户端将列表导出到excel中,而我已在 header 中导入了该列表。
我创建的对象编码如下,但是我似乎无法让它将每个值导出到电子表格中自己的行中。如果我能得到一个好的指针(除了放弃python !!:D以外),我将不胜感激。

class XcelExport():
    def excel(self):
        app = 'Excel'
        xl = win32.gencache.EnsureDispatch('%s.Application' % app)
        ss = xl.Workbooks.Open(r'C:\MyFile.xls')
        sh = ss.ActiveSheet
        xl.Visible = True
        sleep(.1)
        sh.Cells(1,1).Value = 'Export-to-%s : Items' % app
        sleep(.1)
        for i in EventTableRFT:
            sh.Range("A").Value = i
        sh.Cells(i+2,1).Value = "End of the List!"

xprt = XcelExport()
xprt.excel()

最佳答案

由于您似乎喜欢我的答案/评论,因此以下是正确的答案:

Python Excel几乎满足您的所有需求。如果您想要更集成但似乎有限的东西,可以使用IronSpread。 XLRD和XLWT是不错的软件包,但它们不支持* .xlsx文件。 IronSpread仅限于Windows,仅支持'07和'10版本的Excel。每个都有警告。最后,您可以同时使用两者(将其编辑为* .xlsx,然后另存为* .xls(我的某个人在处理大型* .xls文件时遇到速度问题,但是我的脚本从该文件中写入了200mb的文本,例如1分钟。))。

哦,我一定会阅读(略读)有关有趣功能的文档,例如获取xlrd/xlwt的单元格类型等。这样做是值得的,因为仅仅是因为它很短,并且可以节省实验的学习时间。

xlwt的超短示例:

import xlwt
from tempfile import TemporaryFile
book = xlwt.Workbook()
sheet1 = book.add_sheet('sheet1')

supersecretdata = [34,123,4,1234,12,34,12,41,234,123,4,123,1,45123,5,43,61,3,56]

for i,e in enumerate(supersecretdata):
    sheet1.write(i,1,e)

name = "random.xls"
book.save(name)
book.save(TemporaryFile())

xlrd的超短示例:
import xlrd
from xlrd import open_workbook
book = open_workbook('random.xls')
sheet1 = book.sheet_by_index(0)
data = []

for i in xrange(sheet1.nrows):
    data.append(sheet1.cell(i,1).value)

关于python - 将Python列表导出到Excel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11766833/

10-11 15:18
查看更多