簡體   English   中英

使用沿X,Y,Z軸線的數據創建Apache POI Excel

[英]Apache POI Excel creation with data along X,Y,Z axis lines

我正在使用XSSF創建一個excel。

此excel將在前3行中包含數據(將其想象為x軸)。 我也將數據填充在2個左手欄中(將其想象為Y軸)。

現在,我必須在工作表上添加一個標志,指示x和y軸值(想象z軸)之間的匹配。

例如,如果我在x軸上有值:Y1軸上有x1(Cell:D1),x2,x3,x4等...,Y1,Y2,Y3(Cell:12C))等。

如果x1 == Y3,我用'X'標記公共單元格(D12)。

我所有這些數據都在Linkedhashmap中。 一個已鏈接哈希表中的X軸數據,另一個鏈接哈希表中的y軸,我也有信息,其中x值等於另一個已鏈接哈希表中的y值。 因此,我必須遍歷這些哈希圖並創建一個Excel工作表。

我的問題 :我有此匹配的信息哈希圖,其中列(x軸)數據作為鍵,行數據作為值。 因此,我必須明智地遍歷工作表列。 (X1-> Y3,Y100,Y123,X2-> Y2,Y79,Y500)。

考慮到性能,這是一種好方法還是應該在hasmap中反轉鍵和值?

我在x軸上限制了(范圍:100-5000)值(將它們保留在x-asax上的原因),而我卻有100萬行/值(在Y軸上)。

歡迎您提出其他建議。

非常感謝你的幫助。

PS:我有使用excel的經驗,也有使用POI的經驗,我知道一些基礎知識,並且我之前創建過excel表格,但是數據有限,而且總是按行排列,而不是多維。

我想我會用

cell.setCellFormula(formula_str);

像這樣的公式

=if(a1=b3, "", "MISMATCH") 

或者它應該工作。 這樣,您就可以讓Excel完成工作,而不必在Java代碼中創建哈希圖和各種復雜的東西。 同樣,當用戶更新Excel時,它將為他們更新。 如果您在Excel中更改數據時您的計算沒有更新,則用戶將不喜歡它。

cell.setCellFormula("IF(A1=B3, \"\", \"MISMATCH\")");

要創建您的論壇列或行,您只需要一個循環即可將數字從A1,B3更改為遍歷並添加公式單元格的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM