作者rxiang (rxiang)
看板Perl
标题Re: [问题] 请问Excel 字串写入问题
时间Wed May 24 02:05:25 2017
※ 引述《yaya80306 (赫)》之铭言:
: 请问一下
: 在linux环境下用perl 建立excel档
: 若要在某一栏写入“10E2”
: 打开excel 档总会显示1000而不是10E2
: 我已经把excel 栏位设定成文字格式
: 依旧变成1000
: 也尝试过 "'10E2" 和 " 10E2" 但我不想要出现' 或空白 ,因为会导致其它自动化程式
: 异常
: 请问各位大大有无正确写法
: 非常感谢
Hi~
这是 Excel 设定的问题,
所以你必须先了解 Excel 的格式
像是 0.00E+00 就是 MS 官方推荐的科学记号格式
虽然你没讲明说用什麽 module, Excel 格式等等~
所以我假设你使用 Spreadsheet::WriteExcel 这个 module (file extension: .xls)
PS 若 extension 是较新的 .xlsx 就用 Excel::Writer::XLSX
不过不少公司没用这麽新的啦XD
提供以下 snippet,请注意设定 format 的部分: (cells 位置自订罗)
================================================================
my $workbook = Spreadsheet::WriteExcel->new('output.xls');
# Add a worksheet
my $worksheet = $workbook->add_worksheet();
# Define your format
my $format = $workbook->add_format(); # Add a format
$format->set_num_format('00E0');
# Defined your cells
$worksheet->write_number('A1', 10E2, $format);
$worksheet->write_number('A2', 10E20, $format);
================================================================
如果设定还是出现问题,也许你可考虑多写一个 Excel Parser,
在执行其他程式前去把数字转换回来XD
Refs:
MS官方说明 如何控制及了解 Excel 中储存格格式对话方块的设定
https://goo.gl/NTr0t0
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.251.212.72
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Perl/M.1495562728.A.8B6.html
1F:推 yaya80306: 感谢你专业的回覆,我的perl是5.8.8,没有到很新版, 05/24 07:40
2F:→ yaya80306: 待会来试试看,感谢感谢 05/24 07:40