<?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>excel performance optimization on Conholdate Blog</title>
    <link>https://blog-qa.conholdate.com/th/tag/excel-performance-optimization/</link>
    <description>Recent content in excel performance optimization on Conholdate Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>th</language>
    <lastBuildDate>Fri, 09 Oct 2026 12:30:34 +0000</lastBuildDate><atom:link href="https://blog-qa.conholdate.com/th/tag/excel-performance-optimization/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>แยกเวิร์กบุ๊ก Excel ใน Java</title>
      <link>https://blog-qa.conholdate.com/th/total/split-excel-workbook-in-java/</link>
      <pubDate>Fri, 09 Oct 2026 12:30:34 +0000</pubDate>
      
      <guid>https://blog-qa.conholdate.com/th/total/split-excel-workbook-in-java/</guid>
      <description>แยกเวิร์กบุ๊ก Excel เป็นไฟล์ XLSX แยกไฟล์ด้วย Conholdate.Total for Java. ปฏิบัติตามคู่มือนี้สำหรับโค้ด, ขั้นตอนการตั้งค่า, และเคล็ดลับด้านประสิทธิภาพสำหรับนักพัฒนา Java.</description>
      <content:encoded><![CDATA[<p>การแยกไฟล์ Excel workbook ขนาดใหญ่เป็นแผ่นงานแต่ละแผ่นเป็นความต้องการทั่วไปเมื่อคุณต้องการประมวลผลหรือแจกจ่ายข้อมูลต่อแผ่นงาน ความสามารถในการ <strong>split Excel Workbook in Java</strong> ช่วยให้นักพัฒนาสามารถแยกแต่ละแผ่นออกเพื่อการจัดการหรือการรายงานแยกต่างหาก <a href="https://products.conholdate.com/total/java/">Conholdate.Total for Java</a> มี SDK ที่แข็งแกร่งทำให้งานนี้ทำได้อย่างง่ายดายในแอปพลิเคชัน Java ในคู่มือนี้คุณจะได้เห็นตัวอย่างโค้ดเต็มรูปแบบ เรียนรู้วิธีตั้งค่าห้องสมุด เข้าใจข้อพิจารณาด้านประสิทธิภาพ และรับเคล็ดลับการจัดการไฟล์ <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> ขนาดใหญ่อย่างมีประทธิภาพ.</p>
<h2 id="ตวอยางการทำงานเตมสำหรบการแยกเวรกบก-excel-ใน-java">ตัวอย่างการทำงานเต็มสำหรับการแยกเวิร์กบุ๊ก Excel ใน Java</h2>
<p>ตัวอย่างนี้แสดงวิธีการแยกเวิร์กบุ๊ก Excel ออกเป็นไฟล์แยกต่างหากโดยใช้ Conholdate.Total</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.aspose.cells.Workbook<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.aspose.cells.Worksheet<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> com.aspose.cells.SaveFormat<span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">import</span> java.io.File<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">ExcelSplitter</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 sourceFile <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 outputDir <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;splitted&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>File dir <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> File<span style="color:#f92672">(</span>outputDir<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">if</span> <span style="color:#f92672">(!</span>dir<span style="color:#f92672">.</span><span style="color:#a6e22e">exists</span><span style="color:#f92672">())</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            dir<span style="color:#f92672">.</span><span style="color:#a6e22e">mkdirs</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></span><span style="display:flex;"><span><span style="color:#66d9ef">try</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>            Workbook sourceWorkbook <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Workbook<span style="color:#f92672">(</span>sourceFile<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">int</span> sheetCount <span style="color:#f92672">=</span> sourceWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">getWorksheets</span><span style="color:#f92672">().</span><span style="color:#a6e22e">getCount</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">for</span> <span style="color:#f92672">(</span><span style="color:#66d9ef">int</span> i <span style="color:#f92672">=</span> 0<span style="color:#f92672">;</span> i <span style="color:#f92672">&lt;</span> sheetCount<span style="color:#f92672">;</span> i<span style="color:#f92672">++)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                Worksheet sheet <span style="color:#f92672">=</span> sourceWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">getWorksheets</span><span style="color:#f92672">().</span><span style="color:#a6e22e">get</span><span style="color:#f92672">(</span>i<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>                Workbook splitWorkbook <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Workbook<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>splitWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">getWorksheets</span><span style="color:#f92672">().</span><span style="color:#a6e22e">addCopy</span><span style="color:#f92672">(</span>sheet<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">if</span> <span style="color:#f92672">(</span>splitWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">getWorksheets</span><span style="color:#f92672">().</span><span style="color:#a6e22e">getCount</span><span style="color:#f92672">()</span> <span style="color:#f92672">&gt;</span> 1<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>                    splitWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">getWorksheets</span><span style="color:#f92672">().</span><span style="color:#a6e22e">removeAt</span><span style="color:#f92672">(</span>0<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></span><span style="display:flex;"><span>String safeName <span style="color:#f92672">=</span> sheet<span style="color:#f92672">.</span><span style="color:#a6e22e">getName</span><span style="color:#f92672">().</span><span style="color:#a6e22e">replaceAll</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;[\\\\/:*?\&#34;&lt;&gt;|]&#34;</span><span style="color:#f92672">,</span> <span style="color:#e6db74">&#34;_&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>                String outPath <span style="color:#f92672">=</span> outputDir <span style="color:#f92672">+</span> File<span style="color:#f92672">.</span><span style="color:#a6e22e">separator</span> <span style="color:#f92672">+</span> safeName <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;.xlsx&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>splitWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>outPath<span style="color:#f92672">,</span> SaveFormat<span style="color:#f92672">.</span><span style="color:#a6e22e">XLSX</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>                splitWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">dispose</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></span><span style="display:flex;"><span>sourceWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">dispose</span><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>            System<span style="color:#f92672">.</span><span style="color:#a6e22e">err</span><span style="color:#f92672">.</span><span style="color:#a6e22e">println</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;Error during splitting: &#34;</span> <span style="color:#f92672">+</span> e<span style="color:#f92672">.</span><span style="color:#a6e22e">getMessage</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></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>หมายเหตุ:</strong> ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ โปรดตรวจสอบให้แน่ใจว่าได้อัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาที่จำเป็นทั้งหมดได้ติดตั้งอย่างถูกต้อง และทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากพบปัญหาใด ๆ โปรดดูที่ <a href="https://docs.conholdate.com/java/">เอกสารอย่างเป็นทางการ</a> หรือ ติดต่อทีม <a href="https://forum.conholdate.com/c/total/5">ฝ่ายสนับสนุน</a> เพื่อขอความช่วยเหลือ.</p>
</blockquote>
<h3 id="คลาสสำคญทใช">คลาสสำคัญที่ใช้</h3>
<p>โค้ดส่วนนี้พึ่งพา 3 คลาสหลักจากไลบรารี <strong>Aspose.Cells</strong> ที่มาพร้อมกับ Conholdate.Total:</p>
<ul>
<li><code>Workbook</code> - แทนไฟล์ Excel ทั้งไฟล์และให้เมธอดสำหรับโหลด, บันทึก, และจัดการ workbook. ดู <a href="https://reference.conholdate.com/java/">Workbook class API reference</a>.</li>
<li><code>Worksheet</code> - ให้การเข้าถึงแผ่นงานเดี่ยวภายใน workbook.</li>
<li><code>SaveFormat</code> - enumeration ที่กำหนดรูปแบบผลลัพธ์; <code>SaveFormat.XLSX</code> จะเขียนไฟล์ในคอนเทนเนอร์ XLSX สมัยใหม่.</li>
</ul>
<p>คลาสเหล่านี้มีน้ำหนักเบา แต่พวกมันจัดสรรทรัพยากรเนทีฟ ดังนั้นการทำลาย (dispose) พวกมันอย่างทันท่วงที (ตามที่แสดง) เป็นสิ่งสำคัญสำหรับ <strong>การจัดการหน่วยความจำสำหรับไฟล์ Excel ขนาดใหญ่</strong></p>
<h2 id="แยกวเคราะหการแยก-excel-workbook-ใน-java">แยกวิเคราะห์การแยก Excel Workbook ใน Java</h2>
<p>โปรแกรมทำตามลำดับที่ชัดเจนซึ่งคุณสามารถปรับใช้กับกระบวนการทำงาน Excel Split Java ใดก็ได้</p>
<h3 id="คำอธบายทละขนตอน">คำอธิบายทีละขั้นตอน</h3>
<ol>
<li><strong>โหลดเวิร์กบุ๊กต้นฉบับ</strong> - <code>new Workbook(sourceFile)</code> อ่านไฟล์ XLSX อินพุต.</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>Workbook sourceWorkbook <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Workbook<span style="color:#f92672">(</span>sourceFile<span style="color:#f92672">);</span>
</span></span></code></pre></div><ol start="2">
<li><strong>Create output directory</strong> - ตรวจสอบว่าโฟลเดอร์เป้าหมายมีอยู่หรือไม่และสร้างมันหากจำเป็น.</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>File dir <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> File<span style="color:#f92672">(</span>outputDir<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> <span style="color:#f92672">(!</span>dir<span style="color:#f92672">.</span><span style="color:#a6e22e">exists</span><span style="color:#f92672">())</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    dir<span style="color:#f92672">.</span><span style="color:#a6e22e">mkdirs</span><span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><ol start="3">
<li><strong>วนซ้ำผ่านแผ่นงาน</strong> - <code>sourceWorkbook.getWorksheets().getCount()</code> ให้จำนวนแผ่นงาน และลูปจะประมวลผลแต่ละแผ่นงาน.</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><span style="color:#66d9ef">for</span> <span style="color:#f92672">(</span><span style="color:#66d9ef">int</span> i <span style="color:#f92672">=</span> 0<span style="color:#f92672">;</span> i <span style="color:#f92672">&lt;</span> sheetCount<span style="color:#f92672">;</span> i<span style="color:#f92672">++)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    Worksheet sheet <span style="color:#f92672">=</span> sourceWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">getWorksheets</span><span style="color:#f92672">().</span><span style="color:#a6e22e">get</span><span style="color:#f92672">(</span>i<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><ol start="4">
<li><strong>คัดลอกแผ่นงานปัจจุบันไปยังสมุดงานใหม่</strong> - <code>addCopy(sheet)</code> ทำสำเนาแผ่นงาน, จากนั้นแผ่นงานว่างเริ่มต้นจะถูกลบหากมีอยู่.</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>Workbook splitWorkbook <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> Workbook<span style="color:#f92672">();</span>
</span></span><span style="display:flex;"><span>splitWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">getWorksheets</span><span style="color:#f92672">().</span><span style="color:#a6e22e">addCopy</span><span style="color:#f92672">(</span>sheet<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">if</span> <span style="color:#f92672">(</span>splitWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">getWorksheets</span><span style="color:#f92672">().</span><span style="color:#a6e22e">getCount</span><span style="color:#f92672">()</span> <span style="color:#f92672">&gt;</span> 1<span style="color:#f92672">)</span> <span style="color:#f92672">{</span>
</span></span><span style="display:flex;"><span>    splitWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">getWorksheets</span><span style="color:#f92672">().</span><span style="color:#a6e22e">removeAt</span><span style="color:#f92672">(</span>0<span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">}</span>
</span></span></code></pre></div><ol start="5">
<li><strong>บันทึกเวิร์กบุ๊กที่แยกออก</strong> - สร้างชื่อไฟล์ที่ปลอดภัยและเขียนชีตเป็นไฟล์ XLSX.</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>String safeName <span style="color:#f92672">=</span> sheet<span style="color:#f92672">.</span><span style="color:#a6e22e">getName</span><span style="color:#f92672">().</span><span style="color:#a6e22e">replaceAll</span><span style="color:#f92672">(</span><span style="color:#e6db74">&#34;[\\\\/:*?\&#34;&lt;&gt;|]&#34;</span><span style="color:#f92672">,</span> <span style="color:#e6db74">&#34;_&#34;</span><span style="color:#f92672">);</span>
</span></span><span style="display:flex;"><span>String outPath <span style="color:#f92672">=</span> outputDir <span style="color:#f92672">+</span> File<span style="color:#f92672">.</span><span style="color:#a6e22e">separator</span> <span style="color:#f92672">+</span> safeName <span style="color:#f92672">+</span> <span style="color:#e6db74">&#34;.xlsx&#34;</span><span style="color:#f92672">;</span>
</span></span><span style="display:flex;"><span>splitWorkbook<span style="color:#f92672">.</span><span style="color:#a6e22e">save</span><span style="color:#f92672">(</span>outPath<span style="color:#f92672">,</span> SaveFormat<span style="color:#f92672">.</span><span style="color:#a6e22e">XLSX</span><span style="color:#f92672">);</span>
</span></span></code></pre></div><ol start="6">
<li><strong>ปลดปล่อยทรัพยากร</strong> - เรียก <code>dispose()</code> บนทั้งเวิร์กบุ๊กชั่วคราวและเวิร์กบุ๊กต้นฉบับเพื่อคืนหน่วยความจำและหลีกเลี่ยงการรั่วไหลของเนทีฟ</li>
</ol>
<p>กระบวนการทั้งหมดเป็น <strong>ตัวอย่างโค้ด Java สำหรับแยกแผ่นงาน Excel</strong> ที่สามารถฝังลงใน pipeline การประมวลผลข้อมูลขนาดใหญ่ได้</p>
<h2 id="ขอกำหนดเบองตนและการตงคา---เรมตนกบ-conholdatetotal">ข้อกำหนดเบื้องต้นและการตั้งค่า - เริ่มต้นกับ Conholdate.Total</h2>
<p>ก่อนที่คุณจะคอมไพล์และเรียกใช้ตัวอย่าง โปรดตรวจสอบให้แน่ใจว่าสภาพแวดล้อมการพัฒนาของคุณตรงตามข้อกำหนดเบื้องต้นต่อไปนี้</p>
<h3 id="การกำหนดคา-maven">การกำหนดค่า Maven</h3>
<p>เพิ่มที่เก็บ Maven ของ Conholdate และการพึ่งพา SDK ไปยัง <code>pom.xml</code> ของคุณ:</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-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><p>ดาวน์โหลดแพ็กเกจ SDK ล่าสุดจากหน้าดาวน์โหลดอย่างเป็นทางการ: <a href="https://releases.conholdate.com/total/java/">Conholdate.Total for Java ดาวน์โหลด</a>. ไลบรารีต้องการ Java 8 หรือใหม่กว่าและทำงานบน JVM มาตรฐานใดก็ได้.</p>
<h3 id="การกำหนดคาใบอนญาต">การกำหนดค่าใบอนุญาต</h3>
<p>จำเป็นต้องมีใบอนุญาตที่ถูกต้องสำหรับการใช้งานในสภาพแวดล้อมการผลิต คุณสามารถรับใบอนุญาตชั่วคราวสำหรับการทดสอบได้จาก <a href="https://purchase.conholdate.com/temporary-license/">temporary license page</a>. สำหรับโครงการระยะยาว ให้ตรวจสอบตัวเลือกการกำหนดราคาใน <a href="https://purchase.conholdate.com/pricing/total/family/">pricing page</a>. เมื่อคุณมีไฟล์ใบอนุญาตแล้ว ให้ตั้งค่าในโค้ดเริ่มต้นของแอปพลิเคชันของคุณ (ไม่ได้แสดงที่นี่) ตามที่อธิบายไว้ในเอกสาร.</p>
<h2 id="เคลดลบเชงปฏบตสำหรบการแยกไฟล-excel-อยางมประสทธภาพ">เคล็ดลับเชิงปฏิบัติสำหรับการแยกไฟล์ Excel อย่างมีประสิทธิภาพ</h2>
<p>การทำงานกับสมุดงานขนาดใหญ่ต้องการการจัดการทรัพยากรอย่างระมัดระวัง คำแนะนำต่อไปนี้ช่วยให้คุณทำกระบวนการให้เร็วและเชื่อถือได้</p>
<h3 id="คำแนะนำการจดการหนวยความจำ">คำแนะนำการจัดการหน่วยความจำ</h3>
<ul>
<li><strong>ทำลาย workbook ชั่วคราวแต่ละรายการ</strong> หลังจากบันทึกเพื่อปล่อยทรัพยากรพื้นฐานและลดการใช้หน่วยความจำให้ต่ำลง.</li>
<li><strong>ใช้วัตถุซ้ำเมื่อเป็นไปได้</strong> - การสร้างอินสแตนซ์ <code>Workbook</code> เพียงหนึ่งตัวสำหรับแหล่งข้อมูลและใช้วัตถุ <code>File</code> เดียวกันสำหรับไดเรกทอรีผลลัพธ์ช่วยลดภาระของ garbage‑collector.</li>
<li><strong>พิจารณาโหมดสตรีมมิ่ง</strong> หากเวอร์ชันของ Conholdate.Total ของคุณรองรับ; การสตรีมจะอ่านแถวตามความต้องการแทนการโหลด workbook ทั้งหมดเข้าสู่หน่วยความจำ.</li>
</ul>
<h3 id="ขอผดพลาดทวไปและวธหลกเลยง">ข้อผิดพลาดทั่วไปและวิธีหลีกเลี่ยง</h3>
<table>
<thead>
<tr>
<th>อาการ</th>
<th>สาเหตุที่เป็นไปได้</th>
<th>วิธีแก้ไข</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>java.lang.OutOfMemoryError</code></td>
<td>การเก็บเวิร์กบุ๊กที่แยกทั้งหมดในหน่วยความจำ</td>
<td>ตรวจสอบให้แน่ใจว่าได้เรียก <code>splitWorkbook.dispose()</code> ภายในลูปตามที่แสดง</td>
</tr>
<tr>
<td>Illegal file name error</td>
<td>ชื่อแผ่นงานมีอักขระเช่น `\ / : * ? &quot; &lt; &gt;</td>
<td>`</td>
</tr>
<tr>
<td>Missing output files</td>
<td>เส้นทางไดเรกทอรีผลลัพธ์ไม่ถูกต้องหรือไม่มีสิทธิ์เขียน</td>
<td>ตรวจสอบว่า <code>outputDir</code> ชี้ไปยังตำแหน่งที่มีสิทธิ์เขียน</td>
</tr>
</tbody>
</table>
<h3 id="ตวเพมประสทธภาพ">ตัวเพิ่มประสิทธิภาพ</h3>
<ul>
<li><strong>บันทึกความคืบหน้า</strong> - พิมพ์ชื่อแผ่นงานก่อนบันทึกช่วยให้คุณระบุจุดที่เกิดข้อผิดพลาดในชุดข้อมูลขนาดใหญ่ได้</li>
<li><strong>เพิ่มขนาด heap ของ JVM</strong> - สำหรับสมุดงานที่ใหญ่มาก ให้เริ่ม JVM ด้วย <code>-Xmx2g</code> (หรือมากกว่านั้น) เพื่อให้กระบวนการมีหน่วยความจำเพิ่มขึ้น</li>
<li><strong>การประมวลผลแบบขนาน</strong> - หากสมุดงานไม่มีการพึ่งพากัน คุณสามารถแบ่งงานไปยังหลายเธรดได้ แต่จำไว้ว่าไลบรารีเนทีฟพื้นฐานไม่ได้ปลอดภัยต่อการทำงานหลายเธรดเสมอ; ทดสอบอย่างละเอียด</li>
</ul>
<p>โดยทำตามเคล็ดลับเหล่านี้ คุณสามารถ <strong>แยก Excel Workbook ใน Java</strong> ได้อย่างมีประสิทธิภาพ แม้ต้องจัดการกับแผ่นงานหลายพันแผ่นหรือเวิร์กบุ๊กที่มีขนาดหลายร้อยเมกะไบต์</p>
<h2 id="สรป">สรุป</h2>
<p>การแยกเวิร์กบุ๊ก Excel เป็นไฟล์ XLSX แยกแต่ละไฟล์ด้วย Conholdate.Total for Java เป็นเทคนิคที่ง่ายแต่ทรงพลังสำหรับนักพัฒนา Java ที่ต้องการเข้าถึงข้อมูลแผ่นงานอย่างละเอียด โค้ดที่ให้มาจะแสดงกระบวนการทำงานเต็มรูปแบบ ตั้งแต่การโหลดเวิร์กบุ๊กต้นฉบับจนถึงการปล่อยทรัพยากรหลังจากบันทึกแต่ละแผ่น การใช้วิธีนี้เพื่อ <strong>แยก Excel Workbook ใน Java</strong> จะให้การควบคุมที่ละเอียดต่อแต่ละแผ่นและรวมเข้ากับสายการประมวลผลข้อมูลขนาดใหญ่ได้อย่างง่ายดาย จำไว้ว่าให้รับใบอนุญาตที่เหมาะสมสำหรับการใช้งานในผลิตภัณฑ์; คุณสามารถสำรวจตัวเลือกราคาได้ที่ <a href="https://purchase.conholdate.com/pricing/total/family/">pricing page</a> หรือขอใบอนุญาตชั่วคราวจาก <a href="https://purchase.conholdate.com/temporary-license/">temporary license page</a>. เมื่อ SDK ถูกติดตั้งและได้ปฏิบัติตามคำแนะนำที่ดีที่สุดแล้ว คุณก็พร้อมจัดการกับสถานการณ์การแยก Excel ใน Java ที่ท้าทายที่สุด</p>
<h2 id="คำถามทพบบอย">คำถามที่พบบ่อย</h2>
<p><strong>ฉันจะทำการแยก Excel Workbook ใน Java โดยใช้ Conholdate.Total ได้อย่างไร?</strong><br>
ใช้คลาส <code>ExcelSplitter</code> ที่แสดงในตัวอย่างเต็ม มันโหลดเวิร์กบุ๊กต้นฉบับ, วนซ้ำผ่านแต่ละแผ่นงาน, สร้างเวิร์กบุ๊กใหม่ต่อแต่ละแผ่น, และบันทึกเป็นไฟล์ XLSX แยกส่วน วิธีนี้ยังทำงานได้เมื่อคุณต้องการ <strong>แยกไฟล์ XLSX ด้วย Java</strong> สำหรับขนาดเวิร์กบุ๊กใด ๆ</p>
<p><strong>SDK รองรับกับเวอร์ชัน Java ทั้งหมดหรือไม่?</strong><br>
SDK รองรับ Java 8 ขึ้นไป ตรวจสอบให้โครงการของคุณตั้งค่าเป้าหมายเป็น JDK ที่เข้ากันได้</p>
<p><strong>ฉันจำเป็นต้องตั้งค่าไลเซนส์ก่อนรันโค้ดหรือไม่?</strong><br>
จำเป็นต้องมีไลเซนส์สำหรับการใช้งานในสภาพแวดล้อมการผลิต คุณสามารถรับไลเซนส์ชั่วคราวสำหรับการทดสอบได้จาก <a href="https://purchase.conholdate.com/temporary-license/">หน้าไลเซนส์ชั่วคราว</a> และตรวจสอบราคาเต็มได้ที่ <a href="https://purchase.conholdate.com/pricing/total/family/">หน้าแสดงราคา</a></p>
<p><strong>ถ้าเวิร์กบุ๊กของฉันมีแผ่นงานหลายพันแผ่นจะเป็นอย่างไร?</strong><br>
ประมวลผลเวิร์กบุ๊กเป็นชุด ๆ ปล่อยเวิร์กบุ๊กชั่วคราวแต่ละอันโดยเร็ว และพิจารณาเพิ่มขนาด heap ของ JVM หากจำเป็น การบันทึกชื่อแผ่นงานแต่ละแผ่นจะช่วยให้คุณระบุแผ่นงานที่มีปัญหาได้อย่างรวดเร็ว</p>
<h2 id="อานเพมเตม">อ่านเพิ่มเติม</h2>
<ul>
<li><a href="https://blog.conholdate.com/th/total/insert-watermark-in-excel-using-java/">แทรกลายน้ำใน Excel ด้วย Java</a></li>
<li><a href="https://blog.conholdate.com/th/total/convert-excel-to-image-in-java/">แปลง Excel เป็นภาพใน Java</a></li>
<li><a href="https://blog.conholdate.com/th/total/excel-to-json-conversion-in-java/">การแปลง Excel เป็น JSON ใน Java</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
