我有一个包含5列的Excel工作表,其中我想要C列的详细信息。 下面是我的代码,我试过
{{1}}
答案 0 :(得分:0)
你可以试试增量。
my $i;
for my $col ( $col_min .. $col_max ) {
my $cell = $worksheet->get_cell( $row, $col );
if (!$cell) {
$i++;
next;
}
$cell = $cell->value();
$sheet_got .= "$cell " if ($i == 2);
$i++;
}
答案 1 :(得分:0)
for my $row ( $row_min .. $row_max )
{
for my $col ( $col_min .. $col_max )
{
my $cell = $worksheet->get_cell( $row, $col );
next unless $cell;
$cell = $cell->value();
$sheet_got .= "$cell ";
}
}
这清楚地表明您正在阅读excel文件的所有值。 提到你需要提取的列,
试试这个,
说excel数据,
姓名 - 年龄 - 性别 - 结果
jack - 21 - M - ok - PASS
dane - 32 - M - ok - PASS
stuart - 45 - M - ok - PASS
jane 65 F ok PASS
po - 24 - M - ok - PASS
所以这里的列C是Gender,所以结果应该是M M F M
use Win32::OLE::Const 'Microsoft Excel';
use Spreadsheet::Read;
use Spreadsheet::ParseExcel;
my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse('test.xls');
my $sheet_got;
for my $worksheet ( $workbook->worksheets() )
{
my ( $row_min, $row_max ) = $worksheet->row_range();
my $col = 2;
for (;$row_min<$row_max;)
{
my $cell = $worksheet->get_cell( $row_min, $col );
next unless $cell;
$cell = $cell->value();
$sheet_got .= "$cell ";
$row_min = $row_min + 1;
}
}
print $sheet_got;
输出将是,
>perl parseexcelsample.pl
M M M F