By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,772 Members | 935 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,772 IT Pros & Developers. It's quick & easy.

PythonWin And Excel Problem

P: n/a
Hi All,

I am having some problems in running a very simple python script,
which prints some numbers in an Excel spreadsheet. The numbers are
stored in a list. I know that the numbers are different (random
generated), but when I open the Excel file I get a column of data with
all the numbers equal to the first item in the python list.
I attach a very simple script that reproduces the problem.

I am using Python 2.5, PythonWin build 210, Windows XP. Am I missing
something? Thank you for every hint.

import os
import random

from win32com.client import Dispatch

therand = []
for ii in xrange(10):
therand.append(random.random())

xlsapp = Dispatch("Excel.Application")
wb = xlsapp.Workbooks.Add()

xlsapp.Worksheets.Item(2).Delete()
xlsapp.Worksheets.Item(1).Delete()
sheet = wb.Sheets[0]
sheet.Name = "Data"
sheet.Range("A1:A10").Value = therand

excelfile = "C:/HelloWin32.xls"

wb.SaveAs(excelfile)
wb.Close()
xlsapp.Quit()

os.startfile(excelfile)
Andrea.

"Imagination Is The Only Weapon In The War Against Reality."
http://xoomer.virgilio.it/infinity77/
Dec 1 '06 #1
Share this Question
Share on Google+
1 Reply


P: n/a
"Andrea Gavana" <an***********@gmail.comwrote:
Hi All,

I am having some problems in running a very simple python script,
which prints some numbers in an Excel spreadsheet. The numbers are
stored in a list. I know that the numbers are different (random
generated), but when I open the Excel file I get a column of data with
all the numbers equal to the first item in the python list.
I attach a very simple script that reproduces the problem.

I am using Python 2.5, PythonWin build 210, Windows XP. Am I missing
something? Thank you for every hint.

import os
import random

from win32com.client import Dispatch

therand = []
for ii in xrange(10):
therand.append(random.random())

xlsapp = Dispatch("Excel.Application")
wb = xlsapp.Workbooks.Add()

xlsapp.Worksheets.Item(2).Delete()
xlsapp.Worksheets.Item(1).Delete()
sheet = wb.Sheets[0]
sheet.Name = "Data"
sheet.Range("A1:A10").Value = therand

excelfile = "C:/HelloWin32.xls"

wb.SaveAs(excelfile)
wb.Close()
xlsapp.Quit()

os.startfile(excelfile)
Each row you insert into the Range need to be a
sequence:

therand.append((random.random(),))

Roger


----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
Dec 1 '06 #2

This discussion thread is closed

Replies have been disabled for this discussion.