POI將html語句寫入Excel,並保留格式

2021-08-30 22:38:12 字數 1250 閱讀 6168

嗯,最近在做單位內部使用的乙個系統

其中在前台使用fckeditor編輯html,並將編輯的html文字儲存在excel中

這裡涉及到兩個問題

一是:要將資料庫中儲存的html中的html標籤去除

二是:對於語句中的換行,使用poi是如何保持換行

一:使用正規表示式去除html語句中的html標籤

public static string splitandfilterstring(string input)   

// 去掉所有html元素,

string str = input.replaceall("\\&[a-za-z];", "").replaceall(

"<[^>]*>", "");

str = str.replaceall("[(/>)<]", "");

return str;

}

經使用可行,但是很多人說這麼做很暴力,會刪除如內容用<1><2><3>這樣的形式來作為步驟的標示

並修改為:

// 去掉所有html元素,     

string str = input.replaceall("<[a-za-z]+[1-9]?[^><]*>", "")

.replaceall("", "");

也可行!

二:使用poi在excel中輸入換行時候,需要設定cell的樣式和在字串中加入"\"------"\r\n "hssfrichtextstring重新封裝一下字串。

具體的**如下:

//首先設定cell的style

hssfcellstyle cellstyle=workbook.createcellstyle();

cellstyle.setwraptext(true);

cell.setcellstyle(cellstyle);

接下來修改你要寫入excel的字串
hssfcell cell = row.createcell((short)0);  

cell.setcellstyle(cellstyle);

cell.setcellvalue(new hssfrichtextstring("hello\r\n world!"));

就可以了

感謝:bevis.cn和liuwei1981

POI 解決寫入excel記憶體溢位

下面是結構圖 在專案中遇到二十萬行資料要寫入到excel中時會記憶體溢位,一般方法是調大tomcat的記憶體,但是調到2048m還是會記憶體溢位報錯 poi官網給了一種大批量資料寫入的方法 使用sxxfworkbook 類進行大批量寫入操作解決了這個問題 import junit.framework...

poi寫入excel出現內容混淆

前幾天做專案時,引用了poi做ecxel讀寫,然後小資料量的時候沒啥問題,但是資料量一大,就出現了有些行,內容合在一起了.如下 xssfrow rowhot sheet.createrow a string value errordata.getdata string msg errordata.g...

java 基於poi 寫入excel 合併單元格

效果圖如下 提供個人的一些想法,大牛不要看 1 對於要寫入的資料,樹形結構,構建臨時類,巢狀,如下圖 類似即可 public class valueobj else private static void setvaluebyrowandcol int row,int col,string valu...