因此,在Excel中,我可以手动创建以下内容(我让它在C列中显示公式):
然后,我可以选择A: 1到C3,选择插入-
然后,当我右键单击第3行并选择Insert时,我得到一个新的第3行,其中C列的公式复制正确。
我的问题是,我似乎无法使用Excel::Writer::XLSX使用Perl生成Excel文件,该文件可以创建一个表,在该表中插入一行将导致复制公式。结果是一片空白,如下所示:
下面是我的代码。任何见解都将不胜感激。
#!/usr/bin/env perl
use strict;
use warnings;
use Excel::Writer::XLSX;
my $filePath = shift;
my $workbook = Excel::Writer::XLSX->new( $filePath );
my $worksheet = $workbook->add_worksheet( 'Metadata' );
my @data = ( [1,2,"=SUM(A2:B2)"], [3,4,"=SUM(A3:B3)"], [5,6,"=SUM(A4:B4)"] );
my $rowCount = (scalar @data) + 1;
$worksheet->add_table(
"A1:C$rowCount",
{
data => \@data,
name => 'Table1',
style => 'Table Style Medium 2',
autofilter => 0,
header_row => 1,
columns => [
{ header => 'Value 1' },
{ header => 'Value 2' },
{ header => 'Sum' },
]
}
);
$workbook->close();
Excel表格使用得太少了。。。很高兴看到有人对他们所能提供的东西表示赞赏,并对模块作者添加表支持表示赞赏。
有几件事。。。如果需要基于表格的公式,请在表格列的formula属性中声明它。这将导致将其复制到创建的任何新行。
{ header => 'Title', formula => '=1+2' }
其次,可能有一种方法可以通过R1C1语法实现这一点(Excel支持它,但我不知道Excel::Writer::XLSX是否支持),但我发现,当您引用表中的其他列时,基于表列而不是单元格引用是最容易做到的——这是Excel表相对于标准范围的一大优势。
formula => '=[@[Header A]]*[@[Header B]]'
受影响的代码应如下所示:
my @data = ( [1,2], [3,4], [5,6] );
my $rowCount = (scalar @data) + 1;
$worksheet->add_table(
"A1:C$rowCount",
{
data => \@data,
name => 'Table1',
style => 'Table Style Medium 2',
autofilter => 0,
header_row => 1,
columns => [
{ header => 'Value 1' },
{ header => 'Value 2' },
{ header => 'Sum',
formula => '=SUM([@[Value 1]]:[@[Value 2]])'
},
]
}
);
当你打开电子表格并添加一行时,我想你会得到你想要的行为。
批量订单 Purchorder 我已经试了一个星期了。我有这两个表,batchporder和purchord在batchporder表中,我需要插入一行,并获得传递给purchord插入的主id。在purchord中,我需要插入多行,因此我使用了insert\u batch。 控制器 模型 错误1 遇到PHP错误严重性:警告 消息:array_keys()要求参数1为数组,字符串为给定值 文件名:
问题内容: 标题基本上总结了所有内容,包括我想在这里完成的工作。 一些更多的信息,我有一个包含4列的表。我需要它的精确副本,但只需要更改一列的值即可。 假设该列的客户编号为123456(其他值并不重要)。 如何复制整个表并将客户号更改为123457,然后将该副本插入到同一表中。 如果一切顺利,我应该拥有的记录(数据库中只有一个客户)是以前的两倍(只有客户编号已更改)。 我正在使用MSSQL2008
问题内容: 在MySQL中,我试图复制一排的 自动增量 和 插入 数据到同一个表的新行。 如何在单个查询中执行此操作? 问题答案: 用途: 除以外的所有列都在哪里?如果要显式插入2,则将其包括在INSERT列列表和SELECT中: 当然,在第二种情况下,您必须注意2 的可能重复项。
问题内容: 我在Python中列出了一些值,并希望使用openpyxl将它们写入Excel电子表格。 到目前为止,我已经尝试过,其中lstStat是需要写入Excel文件的整数列表: 我收到TypeError:代码段的最后一行无法调用’NoneType’对象。 您能帮我怎样将数据写入Excel文件吗? 干杯托马斯 问题答案: 要将值分配给单元格,请使用: 您还需要修复循环。注意,现在,对于其中的
问题内容: 直到11g版本(包括11g)为止,Oracle中似乎都没有AUTO_INCREMENT的概念。 如何在Oracle 11g中创建行为类似于自动增量的列? 问题答案: 从Oracle 11g开始,Oracle中 没有诸如“ auto_increment”或“ identity”列之类的东西。但是,您可以使用序列和触发器轻松对其进行建模: 表定义: 触发定义: 更新: 列现在在Oracle
我有一个列表,其中包含以下元素: 和另一个对象,比如: 我有Element1的列表,并希望从Element1创建Elements2: 我正在寻找以更简单的方式执行此操作,也许使用 stream()。实现这一目标的最干净方法是什么?