Tôi đã sử dụng Spreadsheet::ParseExcel để liệt kê nội dung của bảng tính. Tôi đã xem một số ví dụ về cách đổ toàn bộ bảng tính. Tôi thực sự muốn xem cách sử dụng tập lệnh này một cách có chọn lọc hơn.Cần thêm ví dụ về cách sử dụng Bảng tính :: ParseExcel
Ví dụ bên dưới từ IBM về cơ bản đổ nội dung của tất cả các ô có dữ liệu.
#!/usr/bin/perl -w
use strict;
use Spreadsheet::ParseExcel;
my $oExcel = new Spreadsheet::ParseExcel;
die "You must provide a filename to $0 to be parsed as an Excel file" unless @ARGV;
my $oBook = $oExcel->Parse($ARGV[0]);
my($iR, $iC, $oWkS, $oWkC);
print "FILE :", $oBook->{File} , "\n";
print "COUNT :", $oBook->{SheetCount} , "\n";
print "AUTHOR:", $oBook->{Author} , "\n"
if defined $oBook->{Author};
for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++)
{
$oWkS = $oBook->{Worksheet}[$iSheet];
print "--------- SHEET:", $oWkS->{Name}, "\n";
for(my $iR = $oWkS->{MinRow} ;
defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ;
$iR++)
{
for(my $iC = $oWkS->{MinCol} ;
defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ;
$iC++)
{
$oWkC = $oWkS->{Cells}[$iR][$iC];
print "($iR , $iC) =>", $oWkC->Value, "\n" if($oWkC);
}
}
}
Ai đó có thể cho tôi ví dụ về cách tôi có thể chỉ định một số hành động cần thực hiện cho một cột nhất định cho mỗi hàng?
Ví dụ: tôi có bảng tính có 7 cột và n hàng. Tôi muốn định dạng lại dữ liệu trong từng cột theo một cách nhất định. Có lẽ tôi muốn lấy cột 6 cho mỗi hàng và nối thêm một số văn bản vào cuối chuỗi được lưu trữ trong ô. Làm thế nào mà sẽ được thiết lập?
Tôi là người duy trì bảng tính :: ParseExcel và tôi nghĩ rằng đây là một ví dụ rõ ràng, hay. ++ – jmcnamara
Wow, ví dụ tuyệt vời. Cảm ơn rất nhiều! Và cảm ơn tất cả những đóng góp của bạn và cho những công cụ tuyệt vời như vậy! –
Tôi nhận được thông tin sau: Không thể gọi phương thức "giá trị" trên giá trị không xác định tại ./excel-test-new line 19. –