我使用perl模块WriteExcel来转换|将分隔的文本文件分隔成xls文件,我使用下面的代码来执行此操作
#!/usr/bin/perl -w
use strict;
use Spreadsheet::WriteExcel;
# Create a new workbook and add a worksheet
my $workbook = Spreadsheet::WriteExcel->new($filename);
my $worksheet = $workbook->add_worksheet("Colorful Example");
open(FH,"<$my_path/source_file.txt")
or die "Cannot open file: $!\n";
my ($x,$y) = (0,0);
while (<FH>){
chomp;
my @list = split /\t/,$_;
foreach my $c (@list){
$worksheet->write($x, $y++, $c);
}
$x++; $y=0;
}
close(FH);
$workbook->close(); # Close Workbook
通过此代码,我可以将文件转换为单个选项卡excel。 我想知道当行数超过65000时,如何将文本文件转换为多标签xls(具有多个工作表的excel文件)文件。
答案 0 :(得分:1)
您正在使用此行添加工作表。
my $worksheet = $workbook->add_worksheet("Colorful Example");
如果超出了行限制,您需要检查循环中处理行的位置,如果有,请替换工作表句柄。
$worksheet = $workbook->add_worksheet('foo') if $rows > 65_000;