![]() |
Spreadsheet shows scientific notation occasionally with some cells,but it is wrong
I am not sure if this is related to the perl script(uses WriteExcel
module), or related to my MS office excel settings. e.g. Here are six cells showing in a spreadsheet: 10b1e4 146914 10b818 14db80 8.054E+33 808c940 The "8.054E+33" is actually from a string "8054e30" representing a memory address, which is definitely not 8.054E+33. But all other cells are show correct - that is weird. My perl script uses WriteExcel, and the cells are with format which only set_align('right'). Anyone got ideas? Thank you guys for your attention. |
Re: Spreadsheet shows scientific notation occasionally with somecells, but it is wrong
On 2010-08-03 23:47, mike yue <needpassion@gmail.com> wrote:
> I am not sure if this is related to the perl script(uses WriteExcel > module), or related to my MS office excel settings. > > e.g. Here are six cells showing in a spreadsheet: > > 10b1e4 146914 > 10b818 14db80 > 8.054E+33 808c940 > > The "8.054E+33" is actually from a string "8054e30" representing a > memory address, which is definitely not 8.054E+33. % perl -le 'print 8054e30' 8.054e+33 > But all other cells are show correct - that is weird. > > My perl script uses WriteExcel, and the cells are with format which > only set_align('right'). Which method do you use to write the cell? "write" or "write_string"? If you use write, it needs to guess whether the thing you want to write is a string or a number (a perl scalar can be both), and since 8054e30 looks like a number it guesses that it is one. Use write_string if you want to write a string. If you are already using write_string, it's probably a bug. hp |
Re: Spreadsheet shows scientific notation occasionally with somecells, but it is wrong
I didn't use either write or write_string, I used write_col() instead.
$worksheet->write_col( 14, 1, \@start_addrs, $RIGHT_ALIGN ); So the data comes from an array. Do I need to set the format RIGHT_ALIGN to a particular string or something? how? |
Re: Spreadsheet shows scientific notation occasionally with some cells, but it is wrong
In article
<298fb657-9ce0-48bf-a7cb-be7132b6c842@i28g2000yqa.googlegroups.com>, mike yue <needpassion@gmail.com> wrote: > I didn't use either write or write_string, I used write_col() instead. > $worksheet->write_col( 14, 1, \@start_addrs, $RIGHT_ALIGN ); > So the data comes from an array. > Do I need to set the format RIGHT_ALIGN to a particular string or > something? how? $RIGHT_ALIGN should be a valid Format object reference as returned by the add_format() method called on a workbook object: my $RIGHT_ALIGN = $workbook->add_format(); The format should not change the interpretation of the object type as determined by the write_col method. Try using write_string() to store the data instead of write_col(). You will have to store one cell at a time in a loop. -- Jim Gibson |
Re: Spreadsheet shows scientific notation occasionally with somecells, but it is wrong
On Aug 4, 11:07*am, Jim Gibson <jimsgib...@gmail.com> wrote:
> In article > <298fb657-9ce0-48bf-a7cb-be7132b6c...@i28g2000yqa.googlegroups.com>, > > mike yue <needpass...@gmail.com> wrote: > > I didn't use either write or write_string, I used write_col() instead. > > * * $worksheet->write_col( 14, 1, \@start_addrs, $RIGHT_ALIGN ); > > So the data comes from an array. > > Do I need to set the format RIGHT_ALIGN to a particular string or > > something? how? > > $RIGHT_ALIGN should be a valid Format object reference as returned by > the add_format() method called on a workbook object: > > * my $RIGHT_ALIGN = $workbook->add_format(); > > The format should not change the interpretation of the object type as > determined by the write_col method. > > Try using write_string() to store the data instead of write_col(). You > will have to store one cell at a time in a loop. > > -- > Jim Gibson I've done that but don't feel good with it - Still wonder if there is a better solution. Thanks Jim. |
Re: Spreadsheet shows scientific notation occasionally with somecells, but it is wrong
Also Thanks to Sherm and Peter!
|
| All times are GMT. The time now is 09:22 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.