用perl生成帶格式的excel(跨平台)

2021-09-21 17:19:44 字數 2315 閱讀 7323

本文介紹如何用perl生成excel,而且excel的樣式可以自己事先設計好,不需要在windows下生成。

1.建立乙個模板excel

新建乙個test.xls檔案,開啟

自己設計樣式如下:

2.把test.xls另存為xml** test.xml

3.用文字編輯器開啟test.xml,我要介紹要用**操作的地方

4.**操作完後的結果,注意生成完後的檔案的字尾必須改為.xls,這樣就可以用excel直接開啟了,只要有了模板excel之後,就可以在linux下把檔案生成了。

5.**,下面的**使用時,注意:若是不是在web下使用,請把第1,2個print注釋掉。使用時需要把**儲存為utf-8格式,

my $filename=

"test.xls"

;  @data=([12,8,98],[9,16,99],[7,4,67],[2,64,99],[3,16,67],[1,64,78]);  

$rowcount=scalar(@data)+1;  

print 

;  print 

"content-disposition: attachment; filename='$filename'\n\n"

;  #輸出excel格式  

print <

<?xml  version=

"1.0"

?>  

"excel.sheet"

?>  

"urn:schemas-microsoft-com:office:spreadsheet"

xmlns:o=

"urn:schemas-microsoft-com:office:office"

xmlns:x=

"urn:schemas-microsoft-com:office:excel"

xmlns:ss=

"urn:schemas-microsoft-com:office:spreadsheet"

xmlns:html=

"">  

"urn:schemas-microsoft-com:office:office"

>  

1996-12-17t01:32:42z

2000-11-18t06:53:49z

11.9999

"urn:schemas-microsoft-com:office:office"

>  

"urn:schemas-microsoft-com:office:excel"

>  

4530

8505

480120

false

false

name

="sheet1"

>   

<

table

ss:expandedcolumncount=

"3"ss:expandedrowcount=

"$rowcount"

x:fullcolumns=

"1"x:fullrows=

"1"ss:defaultcolumnwidth=

"54"

ss:defaultrowheight=

"14.25"

>  

<

column

ss:autofitwidth=

"0"ss:width=

"99.75"

/>  

<

column

ss:autofitwidth=

"0"ss:width=

"82.5"

/>  

<

column

ss:autofitwidth=

"0"ss:width=

"99"

/>  

"s23"

>"string"

>響應時間(ms)

"s23"

>"string"

>頻寬(mbps)

"s23"

>"string"

>成功率(%)

eofexcelhead  

my $i=0;  

for$i(0..$#data)

else

}  print <

table

>  

"urn:schemas-microsoft-com:office:excel"

>  

9300

3003

1false

false

eofexceltail  

帶母版頁的GRIDVIEW匯出到EXCEL方法

stringwriter sw new stringwriter htmltextwriter htw new htmltextwriter sw gridview1.rendercontrol htw response.write sw.tostring response.end gridview...

生成帶數字的Bitmap

public class markediconproducer paint paint new paint paint.anti alias flag paint numpaint new paint paint.anti alias flag numpaint.setcolor color.whi...

用PIL實現帶旋轉字元的驗證碼生成

在學習pil中,我們可能會去生成隨機字元驗證碼,新增直線 選字元這些都是比較簡單的操作,但如何將我們隨機生成的字元旋轉起來,是相較複雜一點的。就我目前了解,可以使用numpy的陣列操作,或是直接用opencv解決。本文主要通過pil的模組對字元實現旋轉,主要方法是image.composite 建議...