2011-08-15 125 views
2

我有我用Perl OLE自動化編輯Excel文檔,我遇到了一個問題。我需要在已包含數據,有點像其追加到該文件,但不是在文件的最後兩行之間輸入一個空行。我不希望有用perl或者重寫整個文件。我會如何去做這件事?插入空行插入Excel文檔

感謝

+4

http://www.perlmonks.org/?node_id=882700 – atrain

+0

謝謝,它的工作,Y你不把這個作爲一個答案? – Shahab

+2

因爲我沒有真正回答這個問題。我剛剛找到了一個頁面。 – atrain

回答

0

一兩件事,總是幫助我,當我用Perl &的Win32自動化Excel :: OLE是在Excel中創建捕捉正是我想首先要完成的宏。從那裏,我可以查看VB代碼,通常將其轉換成Perl的相對容易。

例如,在打開的Excel 2010中的文件:

  1. 查看 - >宏 - >錄製新宏
  2. 單擊確定
  3. 右鍵單擊某個工作表上插入新行
  4. 查看 - >宏 - >停止錄製
  5. 查看 - >宏 - >查看宏,單擊編輯

由此,我可以寫代碼,例如:

#!c:/perl/bin/perl.exe 

use strict; 
use warnings; 

use Win32::OLE; 

my $excel = Win32::OLE->new('Excel.Application') 
    or die "Could Not Start Excel.\n"; 
$excel->{ 'Visible' }   = 1; 
$excel->{ DisplayAlerts }  = 0; 
$excel->{ SheetsInNewWorkBook } = 1; 
my $workbook = $excel->Workbooks->Add; 
my $sheet = $workbook->Sheets(1); 

$sheet->Range('A1')->{ Value } = 'Data 1'; 
$sheet->Range('A2')->{ Value } = 'Data 2'; 
$sheet->Range('2:2')->Select(); #Select Entire 2nd Row 
$sheet->Range('2:2')->Insert({ 
    'Shift'  => -4121, #xlDown 
    'CopyOrigin' => 0,  #xlFormatFromLeftOrAbove 
}); 

__END__ 

而且,這裏是一堆的Excel枚舉的列表:http://www.datapigtechnologies.com/downloads/Excel_Enumerations.txt

希望這有助於!