<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>spreadsheet automation java on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/pl/tag/spreadsheet-automation-java/</link>
    <description>Recent content in spreadsheet automation java on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>pl</language>
    <lastBuildDate>Thu, 03 Sep 2026 13:20:14 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/pl/tag/spreadsheet-automation-java/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Wstaw znak wodny w Excelu przy użyciu Javy</title>
      <link>https://blog-qa.conholdate.com/pl/total/insert-watermark-in-excel-using-java/</link>
      <pubDate>Thu, 03 Sep 2026 13:20:14 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/pl/total/insert-watermark-in-excel-using-java/</guid>
      <description>Wstaw znak wodny w Excelu w Javie przy użyciu Conholdate.Total for Java. Postępuj zgodnie z tym zwięzłym przewodnikiem dotyczącym konfiguracji, kodu i niezbędnych opcji, aby chronić swoje arkusze kalkulacyjne.</description>
      <content:encoded><![CDATA[<p>Umieszczenie znaku wodnego w arkuszu kalkulacyjnym pomaga chronić wrażliwe dane i sygnalizuje własność dokumentu. <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> zapewnia prosty interfejs API, który pozwala wstawić znak wodny w Excelu w Javie przy użyciu zaledwie kilku linii kodu. Ten przewodnik przeprowadzi Cię przez niezbędną konfigurację, pełną implementację oraz kluczowe opcje konfiguracyjne, abyś mógł skutecznie zabezpieczyć swoje skoroszyty Excel.</p>
<h2 id="jak-wstawić-znak-wodny-w-excelu-w-javie---krok-po-kroku">Jak wstawić znak wodny w Excelu w Javie - krok po kroku</h2>
<h3 id="załaduj-skoroszyt-przy-użyciu-excelloadoptions">Załaduj skoroszyt przy użyciu ExcelLoadOptions</h3>
<ol>
<li><strong>Załaduj skoroszyt Excel</strong>: Użyj <code>Watermarker</code> razem z <code>ExcelLoadOptions</code>, aby otworzyć plik.
<!-- raw HTML omitted -->
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>Watermarker watermarker <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Watermarker<span style="color:#f92672">(</span>inputPath<span style="color:#f92672">,</span> <span style="color:#66d9ef">new</span> ExcelLoadOptions<span style="color:#f92672">());</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<p>Klasa <code>Watermarker</code> jest udokumentowana w <a href="https://reference.conholdate.com/java/">odniesieniu API</a>. Ładowanie przy użyciu <code>ExcelLoadOptions</code> daje kontrolę nad zużyciem pamięci, co jest niezbędne przy dużych skoroszytach.</p>
<h3 id="utwórz-znak-wodny-tekstowy-ze-stylizacją">Utwórz znak wodny tekstowy ze stylizacją</h3>
<ol start="2">
<li><strong>Utwórz znak wodny tekstowy</strong>: Zdefiniuj czcionkę, kolor, przezroczystość, obrót i wyrównanie.
<!-- raw HTML omitted -->
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>Font font <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Font<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Arial&#34;</span><span style="color:#f92672">,</span> 36<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>TextWatermark watermark <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TextWatermark<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;CONFIDENTIAL&#34;</span><span style="color:#f92672">,</span> font<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setColor</span><span style="color:#f92672">(</span>Color<span style="color:#f92672">.</span><span style="color:#a6e22e">RED</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setOpacity</span><span style="color:#f92672">(</span>0<span style="color:#f92672">.</span><span style="color:#a6e22e">3</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setRotationAngle</span><span style="color:#f92672">(</span>45<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setHorizontalAlignment</span><span style="color:#f92672">(</span>HorizontalAlignment<span style="color:#f92672">.</span><span style="color:#a6e22e">Center</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setVerticalAlignment</span><span style="color:#f92672">(</span>VerticalAlignment<span style="color:#f92672">.</span><span style="color:#a6e22e">Center</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<p>Ustawienie <code>opacity</code> na 0,3 sprawia, że znak wodny jest półprzezroczysty, a obrót o 45 stopni umieszcza go ukośnie na arkuszu. Możesz dostosować te wartości, aby spełniały wytyczne brandingowe lub wymogi zgodności.</p>
<h3 id="zastosuj-znak-wodny-do-wszystkich-arkuszy">Zastosuj znak wodny do wszystkich arkuszy</h3>
<ol start="3">
<li><strong>Dodaj znak wodny do skoroszytu</strong>: Metoda <code>add</code> stosuje go do każdego arkusza w jednym wywołaniu.
<!-- raw HTML omitted -->
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>watermarker<span style="color:#f92672">.</span><span style="color:#a6e22e">add</span><span style="color:#f92672">(</span>watermark<span style="color:#f92672">);</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<p>Jeśli potrzebujesz kontroli na poziomie poszczególnych arkuszy, możesz pobrać indywidualne arkusze za pomocą <code>watermarker.getWorksheets()</code> i wywołać <code>add</code> na każdym z nich osobno.</p>
<h3 id="zapisz-skoroszyt-z-znakiem-wodnym">Zapisz skoroszyt z znakiem wodnym</h3>
<ol start="4">
<li><strong>Zapisz skoroszyt z znakiem wodnym</strong>: Wybierz <code>ExcelSaveOptions</code>, aby kontrolować format wyjściowy i zachować oryginalne metadane.
<!-- raw HTML omitted -->
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>watermarker<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>outputPath<span style="color:#f92672">,</span> <span style="color:#66d9ef">new</span> ExcelSaveOptions<span style="color:#f92672">());</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<p>Obiekt <code>ExcelSaveOptions</code> pozwala określić, czy zachować oryginalną wersję pliku, czy zaktualizować do najnowszego standardu <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> standard.</p>
<h3 id="zwolnij-zasoby-aby-uniknąć-wycieków-pamięci">Zwolnij zasoby, aby uniknąć wycieków pamięci</h3>
<ol start="5">
<li><strong>Zamknij Watermarker</strong>: Zwolnij zasoby, aby uniknąć wycieków pamięci, szczególnie przy przetwarzaniu wielu plików w partii.
<!-- raw HTML omitted -->
</li>
</ol>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span>watermarker<span style="color:#f92672">.</span><span style="color:#a6e22e">close</span><span style="color:#f92672">();</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<p>Zamknięcie <code>Watermarker</code> również opróżnia wszystkie oczekujące operacje zapisu, zapewniając, że plik wyjściowy nie zostanie uszkodzony.</p>
<p>Te kroki ilustrują, jak wstawić znak wodny w Excelu w Javie, dając jednocześnie kontrolę nad wyglądem i wydajnością.</p>
<h2 id="pełny-przykład-kodu-wstawianie-znaku-wodnego-w-excelu-w-javie--pełny-znak-wodny-w-javie">Pełny przykład kodu: Wstawianie znaku wodnego w Excelu w Javie – Pełny znak wodny w Javie</h2>
<p>Poniższy kod demonstruje cały proces, od wczytania skoroszytu po zapisanie wyniku.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.Watermarker<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.contents.TextWatermark<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.common.Font<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.common.Color<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.contents.HorizontalAlignment<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.contents.VerticalAlignment<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.options.load.ExcelLoadOptions<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.options.save.ExcelSaveOptions<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">public</span> <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">ExcelWatermarkExample</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">public</span> <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> <span style="color:#a6e22e">main</span><span style="color:#f92672">(</span>String<span style="color:#f92672">[]</span> args<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>        String inputPath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input.xlsx&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>        String outputPath <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;output_watermarked.xlsx&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Watermarker watermarker <span style="color:#f92672">=</span> <span style="color:#66d9ef">null</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">try</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Load the Excel workbook (works for both XLS and XLSX)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            ExcelLoadOptions loadOptions <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ExcelLoadOptions<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// For very large workbooks you can enable streaming mode:
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            <span style="color:#75715e">// loadOptions.setLoadAllWorksheets(false);
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            watermarker <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Watermarker<span style="color:#f92672">(</span>inputPath<span style="color:#f92672">,</span> loadOptions<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Create a text watermark with desired appearance
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            Font font <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Font<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Arial&#34;</span><span style="color:#f92672">,</span> 36<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            TextWatermark watermark <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> TextWatermark<span style="color:#f92672">(</span><span style="color:#e6db74">&#34;CONFIDENTIAL&#34;</span><span style="color:#f92672">,</span> font<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setColor</span><span style="color:#f92672">(</span>Color<span style="color:#f92672">.</span><span style="color:#a6e22e">RED</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setOpacity</span><span style="color:#f92672">(</span>0<span style="color:#f92672">.</span><span style="color:#a6e22e">3</span><span style="color:#f92672">);</span>               <span style="color:#75715e">// 30% opacity
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setRotationAngle</span><span style="color:#f92672">(</span>45<span style="color:#f92672">);</span>          <span style="color:#75715e">// diagonal
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setHorizontalAlignment</span><span style="color:#f92672">(</span>HorizontalAlignment<span style="color:#f92672">.</span><span style="color:#a6e22e">Center</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            watermark<span style="color:#f92672">.</span><span style="color:#a6e22e">setVerticalAlignment</span><span style="color:#f92672">(</span>VerticalAlignment<span style="color:#f92672">.</span><span style="color:#a6e22e">Center</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Apply the watermark to all worksheets
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            watermarker<span style="color:#f92672">.</span><span style="color:#a6e22e">add</span><span style="color:#f92672">(</span>watermark<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Save the watermarked workbook
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>            ExcelSaveOptions saveOptions <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> ExcelSaveOptions<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>            watermarker<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>outputPath<span style="color:#f92672">,</span> saveOptions<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span> <span style="color:#66d9ef">catch</span> <span style="color:#f92672">(</span>Exception e<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            e<span style="color:#f92672">.</span><span style="color:#a6e22e">printStackTrace</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span> <span style="color:#66d9ef">finally</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">if</span> <span style="color:#f92672">(</span>watermarker <span style="color:#f92672">!=</span> <span style="color:#66d9ef">null</span><span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                watermarker<span style="color:#f92672">.</span><span style="color:#a6e22e">close</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>            <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">}</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><blockquote>
<p><strong>Uwaga:</strong> Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem w swoim projekcie upewnij się, że zaktualizowałeś ścieżki do plików (<code>input.xlsx</code>, <code>output_watermarked.xlsx</code>), aby odpowiadały rzeczywistym lokalizacjom, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, i dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz jakiekolwiek problemy, odwołaj się do <a href="https://docs.conholdate.com/java/">oficjalnej dokumentacji</a> lub skontaktuj się z <a href="https://forum.conholdate.com/c/total/5">zespołem wsparcia</a> w celu uzyskania pomocy.</p>
</blockquote>
<h2 id="przygotowanie-środowiska">Przygotowanie środowiska</h2>
<h3 id="dodaj-repozytorium-maven-i-zależność">Dodaj repozytorium Maven i zależność</h3>
<p>Dodaj repozytorium Maven Conholdate oraz zależność SDK do swojego <code>pom.xml</code>:</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-xml" data-lang="xml"><span style="display:flex;"><span><span style="color:#f92672">&lt;repositories&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;repository&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;id&gt;</span>conholdate-repo<span style="color:#f92672">&lt;/id&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;name&gt;</span>Conholdate Maven Repository<span style="color:#f92672">&lt;/name&gt;</span>
</span></span><span style="display:flex;"><span>        <span style="color:#f92672">&lt;url&gt;</span>https://repository.conholdate.com/repo/<span style="color:#f92672">&lt;/url&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;/repository&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/repositories&gt;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;dependency&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;groupId&gt;</span>com.conholdate<span style="color:#f92672">&lt;/groupId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;artifactId&gt;</span>conholdate-total<span style="color:#f92672">&lt;/artifactId&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;version&gt;</span>24.9<span style="color:#f92672">&lt;/version&gt;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">&lt;type&gt;</span>pom<span style="color:#f92672">&lt;/type&gt;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">&lt;/dependency&gt;</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<p>Możesz również pobrać najnowsze pliki JAR bezpośrednio ze <a href="https://releases.conholdate.com/total/java/">strona pobierania</a>. SDK wymaga Java 8 lub nowszej, a kompatybilne IDE, takie jak IntelliJ IDEA lub Eclipse, ułatwi debugowanie.</p>
<h3 id="konfiguracja-licencjonowania-użycie-produkcyjne">Konfiguracja licencjonowania (użycie produkcyjne)</h3>
<p>Przed uruchomieniem kodu znakowania wodnego w środowisku produkcyjnym, zastosuj swój plik licencyjny:</p>
<!-- raw HTML omitted -->
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-java" data-lang="java"><span style="display:flex;"><span><span style="color:#f92672">import</span> com.groupdocs.watermark.License<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>License license <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> License<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>license<span style="color:#f92672">.</span><span style="color:#a6e22e">setLicense</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;path/to/Conholdate.Total.Java.lic&#34;</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><!-- raw HTML omitted -->
<p>Tymczasowa licencja jest dostępna do oceny na <a href="https://purchase.conholdate.com/temporary-license/">stronie tymczasowej licencji</a>. Dla długoterminowych projektów zapoznaj się ze <a href="https://purchase.conholdate.com/pricing/total/family/">stroną cenową</a>, aby wybrać odpowiedni plan.</p>
<h2 id="co-sprawia-że-conholdatetotal-for-java-jest-odpowiedni-do-znakowania-w-excelu">Co sprawia, że Conholdate.Total for Java jest odpowiedni do znakowania w Excelu</h2>
<h3 id="kompleksowe-wsparcie-xlsxlsx">Kompleksowe wsparcie XLS/XLSX</h3>
<p>Biblioteka obsługuje zarówno starsze formaty <a href="https://docs.fileformat.com/spreadsheet/xls/">XLS</a> jak i nowoczesne formaty XLSX bez konieczności konwersji, zachowując formuły, wykresy i makra.</p>
<h3 id="efektywny-tryb-strumieniowania-dla-dużych-skoroszytów">Efektywny tryb strumieniowania dla dużych skoroszytów</h3>
<p>Podczas pracy z skoroszytami zawierającymi tysiące wierszy, włącz strumieniowanie, ustawiając <code>loadOptions.setLoadAllWorksheets(false)</code>. To znacząco zmniejsza zużycie pamięci.</p>
<h3 id="zaawansowane-opcje-stylizacji-znaków-wodnych">Zaawansowane opcje stylizacji znaków wodnych</h3>
<p>Możesz kontrolować rodzinę czcionki, rozmiar, kolor, przezroczystość, kąt obrotu i wyrównanie. Poniższa tabela podsumowuje najczęściej modyfikowane właściwości:</p>
<table>
<thead>
<tr>
<th>Właściwość</th>
<th>Przykładowa wartość</th>
<th>Wpływ</th>
</tr>
</thead>
<tbody>
<tr>
<td>Font</td>
<td><code>new Font(&quot;Arial&quot;, 36)</code></td>
<td>Określa wizualny styl tekstu znaku wodnego.</td>
</tr>
<tr>
<td>Color</td>
<td><code>Color.RED</code></td>
<td>Ustawia kolor znaku wodnego; akceptowana jest dowolna wartość RGB.</td>
</tr>
<tr>
<td>Opacity</td>
<td><code>0.3</code> (30%)</td>
<td>Kontroluje przezroczystość; niższe wartości sprawiają, że znak wodny jest mniej nachalny.</td>
</tr>
<tr>
<td>Rotation Angle</td>
<td><code>45</code> degrees</td>
<td>Ustawia znak wodny pod kątem ukośnym dla lepszego pokrycia.</td>
</tr>
<tr>
<td>Horizontal Alignment</td>
<td><code>HorizontalAlignment.Center</code></td>
<td>Umieszcza znak wodny poziomo.</td>
</tr>
<tr>
<td>Vertical Alignment</td>
<td><code>VerticalAlignment.Center</code></td>
<td>Umieszcza znak wodny pionowo.</td>
</tr>
</tbody>
</table>
<h3 id="automatyczne-pokrycie-arkuszy">Automatyczne pokrycie arkuszy</h3>
<p>Jedno wywołanie <code>watermarker.add(watermark)</code> propaguje znak wodny do każdego arkusza, oszczędzając Ci pisania powtarzalnych pętli.</p>
<h3 id="simple-save-options">Simple Save Options</h3>
<p><code>ExcelSaveOptions</code> pozwala zachować oryginalny format pliku lub zaktualizować do najnowszej wersji XLSX, a także możesz określić, czy zachować makra.</p>
<p>Wszystkie te możliwości są opisane szczegółowo w <a href="https://docs.conholdate.com/java/">oficjalnej dokumentacji</a>.</p>
<h2 id="podsumowanie">Podsumowanie</h2>
<p>W tym samouczku dowiedziałeś się, jak wstawić znak wodny w Excelu w Javie, korzystając z potężnych funkcji <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. Postępując zgodnie z przewodnikiem krok po kroku, możesz chronić swoje arkusze kalkulacyjne własnym tekstem, kontrolować wygląd i efektywnie obsługiwać duże pliki. Do wdrożeń produkcyjnych potrzebna będzie licencjonowana wersja; zapoznaj się z cennikiem na <a href="https://purchase.conholdate.com/pricing/total/family/">stronie cennika</a> i uzyskaj tymczasową licencję ze <a href="https://purchase.conholdate.com/temporary-license/">strony tymczasowej licencji</a> aby ocenić SDK.</p>
<h2 id="faq">FAQ</h2>
<ul>
<li>
<p><strong>Jak dodać znak wodny w postaci obrazu zamiast tekstu?</strong><br>
Użyj klasy <code>ImageWatermark</code>, ustaw jej przezroczystość i wyrównanie, a następnie dodaj ją do instancji <code>Watermarker</code>, tak jak w przykładzie z tekstem. Obraz może być w formacie <a href="https://docs.fileformat.com/image/png/">PNG</a>, <a href="https://docs.fileformat.com/image/jpeg/">JPEG</a>, lub <a href="https://docs.fileformat.com/image/bmp/">BMP</a>, a także możesz go skalować, aby dopasować do arkusza. Zobacz <a href="https://reference.conholdate.com/java/">referencję API</a> po więcej szczegółów.</p>
</li>
<li>
<p><strong>Czy znak wodny będzie widoczny po konwersji skoroszytu do <a href="https://docs.fileformat.com/pdf">PDF</a>?</strong><br>
Tak. Znak wodny jest osadzony w skoroszycie i pojawi się w każdym formacie, do którego później konwertujesz, takim jak PDF, przy użyciu <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a>. Proces konwersji zachowuje wszystkie elementy wizualne, w tym znaki wodne.</p>
</li>
<li>
<p><strong>Czy mogę kontrolować znak wodny na poziomie poszczególnych arkuszy?</strong><br>
SDK domyślnie nakłada znak wodny na wszystkie arkusze, ale możesz załadować poszczególne arkusze przy użyciu <code>watermarker.getWorksheets().get_Item(index)</code> i wywołać <code>add</code> na każdym z nich selektywnie. Daje to precyzyjną kontrolę w raportach, które wymagają innego brandingu w zależności od arkusza.</p>
</li>
<li>
<p><strong>Czy potrzebuję licencji do rozwoju i testowania?</strong><br>
Tymczasowa licencja jest dostępna do oceny na <a href="https://purchase.conholdate.com/temporary-license/">stronie tymczasowej licencji</a>. Do użytku komercyjnego należy zakupić pełną licencję poprzez <a href="https://purchase.conholdate.com/pricing/total/family/">stronę cenową</a>. Plik licencji musi być załadowany w czasie wykonywania, jak pokazano w sekcji Setup.</p>
</li>
</ul>
<h2 id="czytaj-więcej">Czytaj więcej</h2>
<ul>
<li><a href="https://blog.conholdate.com/pl/total/convert-excel-to-image-in-java/">Konwertuj Excel na obraz w Javie</a></li>
<li><a href="https://blog.conholdate.com/pl/total/autofit-rows-or-columns-in-excel-using-java/">Automatyczne dopasowanie wierszy lub kolumn w Excelu przy użyciu Javy</a></li>
<li><a href="https://blog.conholdate.com/pl/total/convert-image-to-grayscale-in-java/">Konwertuj obraz na odcienie szarości w Javie</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
