이 코드는 .xlsm 파일에서 데이터를 읽습니다.이 데이터를 셀 (0,0)과 같은 셀별로 읽고이 코드 에서처럼 이렇게 할 수는 없습니다. 전체 줄의 데이터를 읽습니다. 줄 단위로 .xlsm 파일을 읽고 특정 워크 시트 만 읽을 수도 있습니다.perl에서 줄 단위로 .xlsm 파일을 읽는 방법
#!/usr/bin/env perl
use strict;
use warnings;
use Spreadsheet::Reader::ExcelXML qw(:just_the_data);
my $workbook = Spreadsheet::Reader::ExcelXML->new(file => 'filename.xlsm'
);
if (!$workbook->file_opened) {
die $workbook->error(), "\n";
}
for my $worksheet ($workbook->worksheets) {
print "Reading worksheet named: " . $worksheet->get_name . "\n";
while(1){
my $cell = $worksheet->get_next_value;
print "Cell is: $cell\n";
last if $cell eq 'EOF';
}
}
출력 :
# SYNOPSIS Screen Output
# 01: Row, Col = (0, 0)
# 02: Value = Category
# 03: Unformatted = Category
# 04:
# 05: Row, Col = (0, 1)
# 06: Value = Total
# 07: Unformatted = Total
# 08:
# 09: Row, Col = (0, 2)
# 10: Value = Date
# 11: Unformatted = Date
# 12:
# 13: Row, Col = (1, 0)
# 14: Value = Red
# 16: Unformatted = Red
# 17:
# 18: Row, Col = (1, 1)
# 19: Value = 5
# 20: Unformatted = 5
# 21:
# 22: Row, Col = (1, 2)
# 23: Value = 2017-2-14 #(shows as 2/14/2017 in the sheet)
# 24: Unformatted = 41318
# 25:
# More intermediate rows ...
# 82:
# 83: Row, Col = (6, 2)
# 84: Value = 2016-2-6 #(shows as 2/6/2016 in the sheet)
# 85: Unformatted = 40944
"라인"에 잠재적으로 많은 데이터 유형의 셀이 포함되어있을 때 시트를 한 라인 씩 읽는 것이 무엇을 의미합니까? "라인"에 대해 정확히 받기를 원하십니까? –
한 번에 각 데이터 행 – Anand
왜 그렇게하고 싶습니까? 더 빨라질 것이라고 생각합니까? 적은 코드? 좀 더 가독성? – simbabque