Java 在Excel中添加水印

在Excel中沒(méi)有直接添加水印的功能蒜绽,但依舊可以通過(guò)一定方式來(lái)實(shí)現(xiàn)類似水印效果司顿。本文通過(guò)Java程序代碼介紹具體實(shí)現(xiàn)方法秀撇。
程序環(huán)境:

  • 測(cè)試文檔:Office Excel 2013
  • 編譯環(huán)境:IntelliJ IDEA 2018
  • JDK版本:1.8.0
  • Excel庫(kù):Java系列spire.xls.jar 3.9.1(本次測(cè)試使用免費(fèi)版)

Java全部測(cè)試代碼

import com.spire.xls.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import static java.awt.image.BufferedImage.TYPE_INT_ARGB;

public class TextWatermark {
    public static void main(String[] args) {
        //加載Excel測(cè)試文檔
        Workbook wb = new Workbook();
        wb.loadFromFile("test.xlsx");

        //設(shè)置文本和字體大小
        Font font = new Font("仿宋", Font.PLAIN, 40);

        for (int i =0;i<wb.getWorksheets().getCount();i++)
        {
            Worksheet sheet = wb.getWorksheets().get(i);
            //調(diào)用DrawText() 方法插入圖片
            BufferedImage imgWtrmrk = drawText("內(nèi)部專用", font, Color.pink, Color.white, sheet.getPageSetup().getPageHeight(), sheet.getPageSetup().getPageWidth());

            //將圖片設(shè)置為頁(yè)眉
            sheet.getPageSetup().setLeftHeaderImage(imgWtrmrk);
            sheet.getPageSetup().setLeftHeader("&G");


            //將顯示模式設(shè)置為L(zhǎng)ayout
            sheet.setViewMode(ViewMode.Layout);
        }

        //保存文檔
        wb.saveToFile("TextWatermark.xlsx", ExcelVersion.Version2013);
    }
    private static BufferedImage drawText (String text, Font font, Color textColor, Color backColor,double height, double width)
    {
        //定義圖片寬度和高度
        BufferedImage img = new BufferedImage((int) width, (int) height, TYPE_INT_ARGB);

        Graphics2D loGraphic = img.createGraphics();

        //獲取文本size
        FontMetrics loFontMetrics = loGraphic.getFontMetrics(font);
        int liStrWidth = loFontMetrics.stringWidth(text);
        int liStrHeight = loFontMetrics.getHeight();

        //文本顯示樣式及位置
        loGraphic.setColor(backColor);
        loGraphic.fillRect(0, 0, (int) width, (int) height);
        loGraphic.translate(((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 2);
        loGraphic.rotate(Math.toRadians(-45));

        loGraphic.translate(-((int) width - liStrWidth) / 2, -((int) height - liStrHeight) / 2);
        loGraphic.setFont(font);
        loGraphic.setColor(textColor);
        loGraphic.drawString(text, ((int) width - liStrWidth) / 2, ((int) height - liStrHeight) / 2);
        loGraphic.dispose();
        return img;
    }
}
水印效果圖

以上是本文關(guān)于Java 給Excel表格添加水印的方法脐恩。也可公眾號(hào)搜索【Office文檔開發(fā)】查看更多操作Office文檔的方法。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奕巍,一起剝皮案震驚了整個(gè)濱河市吟策,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌的止,老刑警劉巖檩坚,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡匾委,警方通過(guò)查閱死者的電腦和手機(jī)拖叙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)剩檀,“玉大人憋沿,你說(shuō)我怎么就攤上這事』铮” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵采章,是天一觀的道長(zhǎng)运嗜。 經(jīng)常有香客問(wèn)我,道長(zhǎng)悯舟,這世上最難降的妖魔是什么担租? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮抵怎,結(jié)果婚禮上奋救,老公的妹妹穿的比我還像新娘。我一直安慰自己反惕,他們只是感情好尝艘,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著姿染,像睡著了一般背亥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悬赏,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天狡汉,我揣著相機(jī)與錄音,去河邊找鬼闽颇。 笑死盾戴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的兵多。 我是一名探鬼主播尖啡,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼中鼠!你這毒婦竟也來(lái)了可婶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤援雇,失蹤者是張志新(化名)和其女友劉穎矛渴,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡具温,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年蚕涤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铣猩。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡揖铜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出达皿,到底是詐尸還是另有隱情天吓,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布峦椰,位于F島的核電站龄寞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏汤功。R本人自食惡果不足惜物邑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滔金。 院中可真熱鬧色解,春花似錦、人聲如沸餐茵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)钟病。三九已至萧恕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肠阱,已是汗流浹背票唆。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屹徘,地道東北人走趋。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像噪伊,于是被迫代替她去往敵國(guó)和親簿煌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 前言 Microsoft Excel沒(méi)有直接的方法內(nèi)置水印在Excel工作表中鉴吹,我們可通過(guò)添加頁(yè)眉頁(yè)腳功能姨伟,將圖片...
    Tina_Tang閱讀 2,590評(píng)論 0 1
  • 在日常生活中,我們經(jīng)常能看到許多廣告文件的字體后面印著公司的名稱或logo豆励,也能在一些保密文件的正文后看到“機(jī)密”...
    Tina_Tang閱讀 1,325評(píng)論 0 1
  • 在日常辦公中夺荒,PDF文件的使用越來(lái)越普遍瞒渠。為了防止自己撰寫的文件內(nèi)容被抄襲或者被他人盜用,給PDF文件添加上水印是...
    Tina_Tang閱讀 936評(píng)論 0 0
  • Excel是辦公室自動(dòng)化中非常重要的一款軟件,具有強(qiáng)大的數(shù)據(jù)分析和處理功能剿吻。其中窍箍,Excel公式(包括函數(shù))...
    Tina_Tang閱讀 641評(píng)論 0 1
  • 需求介紹 我有一個(gè)含有大量數(shù)據(jù)資料的Excel文檔椰棘,現(xiàn)需要對(duì)其中的一個(gè)或多個(gè)單元格的數(shù)據(jù)進(jìn)行修改。請(qǐng)問(wèn)如何才能用J...
    Tina_Tang閱讀 824評(píng)論 0 0