如何使用Perl向现有Excel电子表格添加新行?
我已使用Perl创建了Excel工作表a.xls,其中字段为:如何使用Perl向现有Excel电子表格添加新行?,excel,perl,Excel,Perl,我已使用Perl创建了Excel工作表a.xls,其中字段为: date name eid 13/jan/2010 asa 3175 当我下次编译时,如果日期大于上一个日期,则必须像wise一样进行更新: date name eid 13/jan/2010 asa 3175 14/jan/2010 stone 3180 如果日期为上一行日期,因为最后一行日期为2010年1月14日,当前日期也为2010年1月14日,则不
date name eid
13/jan/2010 asa 3175
当我下次编译时,如果日期大于上一个日期,则必须像wise一样进行更新:
date name eid
13/jan/2010 asa 3175
14/jan/2010 stone 3180
如果日期为上一行日期,因为最后一行日期为2010年1月14日,当前日期也为2010年1月14日,则不应插入任何行,而只应更新上一条记录。参见中的示例。据我所知,AddCell方法可以替换现有单元格或添加新的单元格。使用Excel 2007文件,使用,您不能这样做。自2012年6月发布的0.47版起: 目前,此模块还不能用于写入现有Excel XLSX文件
您只能创建新文件。不只是脱口而出一段代码,而是解释您的解决方案解决问题的方式和原因,从而提供更多价值。否则,这个答案对未来的访问者没有用处。谢谢@ResetACK的建议。
use Win32::OLE::Const 'Microsoft Excel';
$Excel = Win32::OLE->new('Excel.Application', 'Quit');
$Excel->{DisplayAlerts}=0;
my $workbookpath = "D:\\temp.xlsx";
my $workbook = $Excel->Workbooks->Open($workbookpath);
# lets think if you created multiple sheets in an workbook, you can refer each workbook by name(Ex: sheet1 here)
my $sheet = $workbook->WorkSheets("sheet1");
#Insert row in a particular row value
$sheet->Cells(8,1)->EntireRow->Insert;
#save and close workbook, its a best practise when you are doing any excel operation
$workbook->Save;
$workbook->Close();