Re: [問題] 有關Java Excel

看板java作者 (Willie Liao)時間18年前 (2008/03/29 23:06), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串4/4 (看更多)
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
文章代碼(AID): #17xbhUG5 (java)
文章代碼(AID): #17xbhUG5 (java)