- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在使用 Spreadsheet::ParseExcel列出电子表格的内容。我见过几个关于如何转储整个电子表格的示例。我真的很想看看如何更有选择性地使用这个脚本。
下面来自 IBM 的示例基本上转储了所有具有数据的单元格的内容。
#!/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);
}
}
}
有人可以给我一个例子,说明如何为每一行的特定列指定一些操作吗?
例如,我有一个 7 列 n 行的电子表格。我想以某种方式重新格式化每列中的数据。也许我想为每一行获取第 6 列,并将一些文本附加到存储在单元格中的字符串的末尾。如何设置?
最佳答案
要修改 Excel 文件,Spreadsheet::ParseExcel::SaveParser模块非常有用。它允许您读取文件、进行修改,然后将更改的内容写入新文件。这是一个简单的例子:
use strict;
use warnings;
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::SaveParser;
my $excel_file_name = $ARGV[0];
my $parser = Spreadsheet::ParseExcel::SaveParser->new();
my $workbook_orig = $parser->Parse($excel_file_name);
# We will edit column 7 of the first worksheet.
my $worksheet = $workbook_orig->worksheet(0);
my $EDIT_COL = 6;
my ($row_min, $row_max) = $worksheet->row_range();
for my $r ($row_min .. $row_max){
my $cell = $worksheet->get_cell($r, $EDIT_COL);
unless (defined $cell){
next; # Modify as needed to handle blank cells.
}
my $val = $cell->value . '_append_text';
$worksheet->AddCell( $r, $EDIT_COL, $val, $cell->{FormatNo} );
}
# You can save the modifications to the same file, but when
# you are learning, it's safer to write to a different file.
$excel_file_name =~ s/\.xls$/_new.xls/;
$workbook_orig->SaveAs($excel_file_name);
有关许多其他示例,请参阅优秀的文档:
关于perl - 需要更多有关如何使用 Spreadsheet::ParseExcel 的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3217204/
我试图找出对电子表格建模的最佳方法(从数据库的角度来看),考虑到: 电子表格可以包含可变数量的行。 电子表格可以包含可变数量的列。 每一列可以包含一个值,但其类型未知(整数、日期、字符串)。 生成包含
我在谷歌表格中有一个整列的数组公式,例如C1中的以下公式 ArrayFormula(A1:A+B1:B) A列和B列有数据。 如果我要捕获一行并将其移动到另一个位置。一旦我移动它,该行 C 列中的相应
我正在尝试使用 Net::Google::Spreadsheets 读出(稍后甚至可能写入)Google 电子表格。 最样板脚本死于“登录失败”并且没有错误: use Net::Google::Spr
-我想做什么 我想在没有身份验证的情况下使用 Google 电子表格 API Java 库从 Google 电子表格获取数据。Google 电子表格是公开发布的。我想使用以下方法:com.google
使用phpSpredSheet开始使用PHP。测试基本代码会返回错误FATAL ERROR:UNAUCAT ERROR:CLASS“PhpOffice\PhpSpreadSheet\SpreadShe
我有一个 LibreOffice Calc 电子表格,用于跟踪工作中的应收账款。每张表都列出了发票及其状态(已付、未付等)以及有关每张发票的信息。我正在尝试创建一个汇总表,其中列出了每个表中的某些数据
我只是想让列自动调整大小。我正在使用 php 电子表格,但找不到如何操作。我搜索了其他问题,但他们使用了我在 lib worksheet.php 中找不到的函数,例如 getActiveSheet()
嗨,我在我的脚本参数中传递 2 个单元格时遇到问题: function myFunction(c1, c2) { var ss = SpreadsheetApp.getActiveSpreadshee
电子表格太漂亮了!单元格可以相互链接,如果任何公式/值/单元格之一发生任何变化,一切都会正确更新! 有谁知道电子表格如何做到这一点的一般概念? 我所说的是如果 A1 = 1、A2 = 2 和 A3 =
我有一个Powershell脚本,该脚本调用Google App Script函数。 运行Powershell脚本时,我可以在GCP项目的错误报告中看到以下错误: Exception: You do
我正在编写一个AWS Lambda代码,用于使用Golang访问和更新带有URL作为输入的电子表格。到目前为止,我已经可以按照Google指南使用OAuth客户端ID在本地访问电子表格-https:/
我们正在为我们的客户构建电子表格网络应用程序。他们可以上传任何 csv (20 MB+),然后对数据执行操作(如下所列)。数据高度非结构化。 在过去的几个月里,我们尝试了几种架构: 最初,我们以二维数
我遇到过这个 sumif 公式,我在 Google 搜索 N:N 时找不到任何帮助 =sumif(N:N,"Cat",C:C) 所以我根据文档理解了 SumIf: SUMIF(range, crite
我正在使用 C# WebApi 2,存储在未安装办公室的 Azure 服务器上。 我需要创建一个 excel 文件,并且知道 GemBox 电子表格不需要在机器上安装 office。 问题是我需要文件
我正在查看CellEntry API(https://developers.google.com/gdata/javadoc/com/google/gdata/data/spreadsheet/Cel
我需要使用谷歌电子表格 API 设置 majorDimension 值。我已经阅读了文档,它只是说我可以将值设置为 ROW 或 COLUMN,但它没有讨论如何在 URL 中执行此操作。 文档:http
如何使用 google spreadsheet feeds 从多张纸中获取提要api? 以下 URL 仅从第一张工作表中获取提要。在我的 spreadsheet我有 3 work sheets我也想获
请问有人可以帮忙解决 Google 电子表格中的一个问题吗? 更改“ field ”表中一个具体列中的值后,我想在更改该值时写入有关名称和时间的日志。但我无法真正意识到,如果我正在使用电子表格“ fi
我正在尝试创建一个多表 Excel 文档,到目前为止我一直在 PHP 中完成它 - 但使用 PHPExcel 总共大约 60,000 个电子表格单元格占用了 70MB 的 RAM。 我想知道是否有人有
在我的 Perl 脚本中,我使用 Spreadsheet::WriteExcel模块创建 Excel 文件。该文件包含一个表,其大小是动态的 - 即,在创建表之前我不知道它将有多少行。我希望表格的最后
我是一名优秀的程序员,十分优秀!