유닉스에서 탭으로 구분 된 텍스트 파일 (.txt)로 내 엑셀 파일 (.xls)을 변환해야합니다. 누구든지이 일을 도울 수 있습니까?파일 형식 변환
예 : 서버에있는 File.xls를 업로드하면 File.txt로 변환해야합니다.
답장을 보내 주셔서 감사합니다.
유닉스에서 탭으로 구분 된 텍스트 파일 (.txt)로 내 엑셀 파일 (.xls)을 변환해야합니다. 누구든지이 일을 도울 수 있습니까?파일 형식 변환
예 : 서버에있는 File.xls를 업로드하면 File.txt로 변환해야합니다.
답장을 보내 주셔서 감사합니다.
이것은 당신이 원하는 일을해야합니다
#!/usr/bin/perl -w
use strict;
use Spreadsheet::ParseExcel;
my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse($ARGV[0]);
if (!defined $workbook) {
die $parser->error(), ".\n";
}
for my $worksheet ($workbook->worksheets()) {
my ($row_min, $row_max) = $worksheet->row_range();
my ($col_min, $col_max) = $worksheet->col_range();
for my $row ($row_min .. $row_max) {
my $line="";
my $comma="";
for my $col ($col_min .. $col_max) {
my $cell = $worksheet->get_cell($row, $col);
next unless $cell;
$line .= $comma;
$line .= $cell->unformatted();
# Could be $cell->unformatted() or $cell->value()
$comma=",";
}
print $line,"\n";
}
}
저장 xls2csv
로 파일은 터미널로 이동하고 실행으로합니다
chmod +x xls2csv
그럼 당신은 그것을 실행할 수 있습니다
스프레드 시트 모듈을 설치하는 방법을 모른다면
sudo perl -MCPAN -e shell
cpan> install Spreadsheet::ParseExcel
cpan> q
안녕하세요. 유닉스에 익숙하지 않은 나는 그것을 풀려고 노력하고 있습니다. 그러나이 dint는 나를 위해 일합니다. 어떤 형식으로 xls2csv 파일을 저장할 필요가 있습니다. .and 스프레드 시트 모듈을 설치하는 것이 필요한 이유는 무엇입니까? 왜냐하면 첫 줄을 실행할 때 #sudo perl -MCPAN -e 쉘 #이 #user 실행이 허용되지 않는 오류가 발생했습니다. # .. pls 나를 도와주세요. @ Mark Setchell –
안녕하세요. Praveen. 'xls2csv' 파일을 perticular 형식으로 저장할 필요가 없습니다. 이것은 스크립트가 들어있는 텍스트 파일입니다. 그러나 ".txt"확장자를 추가하지 마십시오. 단지'xls2csv'라고 말한 이름으로 저장하십시오. 'su'를 시도한 다음 루트 암호를 입력하고'perl -MCPAN -e shell'을 실행하십시오. –
도움이 필요하십니까? http://stackoverflow.com/questions/1858195/convert-xls-to-csv-on-command-line –
안녕하세요, 위의 링크는 Windows 용 솔루션을 제공합니다 ..하지만 유닉스 스크립팅에서 어떻게 할 수 있습니까? –
I CPAN에 Excel 모듈이 있다는 것을 알고 있습니다. 따라서 짧은 Perl 스크립트에서이를 읽고 CSV로 다시 작성할 수 있습니다. 펄은 당신을위한 선택인가? –