嗯,最近在做單位內部使用的乙個系統
其中在前台使用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...