poi列印excel檔案水印效果
專案列印本來是用jxls利用模板列印,可是加入眉腳之後卻又沒辦法把資料正確賦值到模板上,最後決定用poi完成水印效果,話不多說,上**。請各位大佬多多指導一下。
先建立乙個測試類,寫乙個簡單的列印方法.
public我這裡是每次都去重新生成了水印,如果專案中水印是一樣的,只單獨跑一次生成方法,將儲存,以後每次去列印去讀取就可以啦。static
void toexcel() throws
ioexception
string imgpath="d:\\s.png";//
生成水印的路徑
createwatermark("測試水印", imgpath);//
生成水印
putwaterremarktoexcel(wb, sheet, imgpath, 0, 0, 0, 10, 1, 3, 0, 0);//
生成水印
bytearrayoutputstream os = new
bytearrayoutputstream();
try
catch
(ioexception e)
wb.close();
byte content =os.tobytearray();
file file1 = new file("d:/test.xls");//
excel檔案生成後儲存的位置。
outputstream fos = null
;
try
catch
(exception e)
}
/**為excel打上水印* *
@param
content
* @param
path
* @throws
ioexception
*/public
static
void createwatermark(string content,string path) throws
ioexception
/**最後效果...* 為excel打上水印工具函式 請自行確保引數值,以保證水印之間不會覆蓋。 在計算水印的位置的時候,並沒有考慮到單元格合併的情況,請注意
* *
@param
wb * excel workbook
* @param
sheet
* 需要打水印的excel
* @param
waterremarkpath
* 因為非png格式的打到excel上後可能會有變紅的問題,且不容易做出透明效果。
* @param
startxcol
* 水印起始列
* @param
startyrow
* 水印起始行
* @param
betweenxcol
* 水印橫向之間間隔多少列
* @param
betweenyrow
* 水印縱向之間間隔多少行
* @param
xcount
* 橫向共有水印多少個
* @param
ycount
* 縱向共有水印多少個
* @param
waterremarkwidth
* 水印寬度為多少列
* @param
waterremarkheight
* 水印高度為多少行
* @throws
ioexception
*/public
static
void putwaterremarktoexcel(workbook wb, sheet sheet, string waterremarkpath, int
startxcol,
int startyrow, int betweenxcol, int betweenyrow, int xcount, int ycount, int
waterremarkwidth,
int waterremarkheight) throws
ioexception
//載入
bytearrayoutputstream bytearrayout = new
bytearrayoutputstream();
inputstream imagein=new
fileinputstream(waterremarkpath);
//inputstream imagein = thread.currentthread().getcontextclassloader().getresourceasstream(waterremarkpath);
if (null == imagein || imagein.**ailable() < 1)
bufferedimage bufferimg =imageio.read(imagein);
if (null ==bufferimg)
imageio.write(bufferimg, "png", bytearrayout);
//開始打水印
drawing drawing =sheet.createdrawingpatriarch();
//按照共需列印多少行水印進行迴圈
for (int ycount = 0; ycount < ycount; ycount++) }}
一 利用POI列印excel檔案
pom.xml引入座標 org.apache.poi poi3.9 org.apache.poi poi ooxml 3.9 使用hssf物件列印excel檔案示例 public static void main string args throws ioexception另外,操作excel的還有...
POI 操作 EXCEL檔案
1.最新的poi工具包 poi 主頁 快速上手使用poi hssf 2 excel 結構 hssfworkbook excell 文件物件介紹 hssfsheet excell的表單 hssfrow excell的行 hssfcell excell的格仔單元 hssffont excell字型 hs...
POI生成excel檔案
entranceguarduploadeventmodel eventmodel new entranceguarduploadeventmodel listdatalist entranceguarduploadeventservice.queryall eventmodel 第一步,建立乙個we...