Re: [问题] 请问Excel 字串写入问题

楼主: rxiang (rxiang)   2017-05-24 02:05:25
※ 引述《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
作者: yaya80306 (赫)   2017-05-24 07:40:00
感谢你专业的回复,我的perl是5.8.8,没有到很新版,待会来试试看,感谢感谢

Links booklink

Contact Us: admin [ a t ] ucptt.com