Re: [問題] 有關Java Excel
1)microsoft有定義excel自己的xml format(xml spreadsheet,xmlss),請參考
http://support.microsoft.com/kb/288215
api
http://msdn2.microsoft.com/en-us/library/aa140066(office.10).aspx
我所謂的"適合一次性的exporting"是因為java並沒有xmlss專用的parser,
要load妳自己輸出的excel xml再加以編輯有些麻煩。
2)要放圖在裡面有兩種方式,第一是用live chart(參數也是在xml裡面)
要放靜態圖片的話更加tricky:
mht
請參考我的原po,不過這次把有圖片的excel檔存成.mht(web page single archive)
mht實際上是一個包含了xml和其他supportive file的zip檔,妳剛剛embeded的圖片
也在裡面。把mht副檔名改成xls,一樣可以用excel開啟。
我們公司的產品實際上是用這個方式,不過實做上比較複雜。
html
還有一種方式是存成html,這樣會出現一個htm檔案和一個存image的folder。把htm
檔名改成xls,還是可以用excel開啟(偉大的excel..)
這種做法有一個特殊的優點是,那個html檔基本是html tag跟office xml的組合,
因此如果在沒有office的情況下(比如linux)開啟檔案,妳會看到一個html的
table,長的跟原來的excel很像
壞處是要連那個folder一起輸出給user。當然,如果你沒有圖片的話就沒關係。
希望對你有幫助。
willie
※ 引述《kojinvhfsk (野砲蕃薯)》之銘言:
: 呵呵…原來還有這種做法,受教了!
: 只是你所謂的「只適合一次性的exporting」是什麼意思呢?
: 以下是我以程式建立的Xml檔,其副檔名是xls,就可以直接用Excel開啟了
: 且用Excel開啟後編輯,存檔後,用記事本開啟,也會增加了相對應的Tag
: <?xml version='1.0'?>
: <?mso-application progid='Excel.Sheet'?>
: <Workbook xmlns='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'>
: <Styles>
: <Style ss:ID='s1'>
: <Alignment ss:Horizontal='Center' ss:Vertical='Top' ss:WrapText='1'/>
: <Font ss:FontName='宋體' x:CharSet='134' ss:Size='12' ss:Bold='1'/>
: </Style>
: </Styles>
: <Worksheet ss:Name='sheet1'>
: <Table>
: <Row>
: <Cell ss:StyleID='s1'>
: <Data ss:Type='String'>
: Thank you!
: </Data>
: </Cell>
: </Row>
: </Table>
: </Worksheet>
: </Workbook>
: 從上面就可以了解,我們可以使用很多種已經定義好的Tag,來達到我們的需求
: 只是想請問,該如何查詢有哪些Tag可以使用、設定等等的資訊呢?
: 例如:
: <Style>可以設樣式
: <Alignment ss:Horizontal='Center'>的「ss:Horizontal='Center'」可讓欄位置中
: <Worksheet ss:Name='tt'>可以建立一個名為tt的工作表
: …等等的資訊
: 剛拜了一下Google大神,可是找不到我所需要的完整資訊
: 應該是我查詢的方向錯誤了
: 還望前輩告知!
: 另外藉此回覆 qrtt1兄,
: 使用者有這樣的需求,必然有他的原因
: 而我現在開發一套讓對方使用的軟體
: 我想,勢必需先遵循使用者的需求,來設計、開發
: 讓軟體,符合使用者的需求
: 而不是讓使用者改變需求,來配合這套軟體
: 目前針對使用者這項需求
: 有困難處
: 但我覺得這困難處,是因為我的知識、經驗不足所造成的
: 並非沒有辦法可以解決
: 所以我選擇了先尋找、徵詢解決辦法
: 再確定無法可解後
: 再和使用者溝通,並表明此項需求無法達成的原因
: 讓使用者接受,進而改變他的需求
: 以上是我的一點想法
: 而目前的需求總結如下
: 「必須能夠將海量資料(txt)、JTable、JLabel、JFreeChart等物件資料,存放至同1個Xls檔,
: 依使用者選擇存放至相同、或不同工作表皆可」
: 想請問qrtt1兄,是否在我描述的需求裡
: 發現了根本不可行的關鍵點呢?
: 如果有的話,還麻煩告知,讓我少走冤枉路…>"<
: (ps.Excel 1個Sheet因版本關係,最多只能65535列的問題…我想使用者會自覺不強求的…XD)
: 哎…剛試了一下,想說把XML格式寫出來的Xls檔開啟,放入一張圖後,存檔
: 再用記事本開啟,看裡面的tag是怎麼寫的,這樣就可以解決我的這項需求了
: 可是卻發現…放入一張圖,要存檔時,只能另存新檔…哎…突然好難過啊…>"<
: 這樣是否就代表了沒辦法利用這種方式將圖放入Xls檔呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 98.204.128.203
※ 編輯: willieliao 來自: 98.204.128.203 (03/29 23:49)
推
03/30 00:51, , 1F
03/30 00:51, 1F
推
03/30 07:47, , 2F
03/30 07:47, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):