将Python列表导出到Excel
我想通过Win32COM客户端导出一个列表到excel,我已经在标题处导入了。 我创build的对象编码如下,但我似乎无法得到它将每个值导出到电子表格自己的行。 如果我能得到一个好的指针(除了放弃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分钟。))。
哦,我肯定会阅读(浏览)有趣的function文件,如获取单元格types等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)
您在Range中缺less单元格行号,并且需要在每次循环迭代后增加单元格行。
sh.Range("A1").Offset(0,x).Value = i
这个改变应该起作用。
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) x=0 for i in EventTableRFT: sh.Range("A1").Offset(0,x).Value = i #You need to increment the cell row x+=1 sh.Cells(i+2,1).Value = "End of the List!" xprt = XcelExport() xprt.excel()
- 该应用程序称为一个接口,编组为一个不同的线程
- 自动化Excel从Python获取“TypeError:'unicode'对象不可调用”Range.Address上
- 如何在C ++上为MS Excel实现一个简单的加载项
- 使excel在单个打印作业中打印多个工作表
- 使用COM Interop将对象从C#传递到VBA
- 当Application.Visible为false时,间歇性错误0x800A03EC
- 虽然Excel中使用VT_DATE和SystemTimeToVariantTime指示,但Excel不显示值
- 运行.NET应用程序引用的Excel API的客户端需要安装Excel吗?
- 在Excel中访问数据 – 来自python的Reuter