<?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 comparison on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/th/tag/excel-comparison/</link>
    <description>Recent content in excel comparison on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>th</language>
    <lastBuildDate>Fri, 09 Oct 2026 14:45:06 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/th/tag/excel-comparison/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>เปรียบเทียบไฟล์ Excel ผ่าน REST ด้วย C#</title>
      <link>https://blog-qa.groupdocs.cloud/th/comparison/compare-excel-files-via-rest-in-csharp/</link>
      <pubDate>Fri, 09 Oct 2026 14:45:06 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/th/comparison/compare-excel-files-via-rest-in-csharp/</guid>
      <description>เรียนรู้วิธีเปรียบเทียบไฟล์ Excel ผ่าน REST ใน C# ด้วย GroupDocs.Comparison Cloud SDK for .NET. ตามคู่มือสั้น ๆ พร้อมโค้ด, cURL, และขั้นตอนการตั้งค่า.</description>
      <content:encoded><![CDATA[<p>การเปรียบเทียบแผ่นงาน Excel ด้วยโปรแกรมเป็นความต้องการที่พบบ่อยเมื่อคุณต้องการตรวจจับการเปลี่ยนแปลงของข้อมูล, ตรวจสอบการแก้ไข, หรือสร้างรายงาน. <a href="https://products.groupdocs.cloud/comparison/net/">GroupDocs.Comparison Cloud SDK for .NET</a> ให้ไลบรารีที่มีพลังบนพื้นฐาน REST ซึ่งทำให้การเปรียบเทียบไฟล์ Excel ผ่าน REST ใน C# เป็นเรื่องง่าย. คู่มือนี้จะพาคุณผ่านขั้นตอนการอัปโหลดไฟล์, การกำหนดค่าตัวเลือกการเปรียบเทียบ, การดำเนินการเปรียบเทียบ, และการดึงผลลัพธ์, พร้อมตัวอย่างโค้ด C# และ cURL.</p>
<h2 id="เปรยบเทยบไฟล-excel-ผาน-rest-ดวย-c-ใน-5-ขนตอน">เปรียบเทียบไฟล์ Excel ผ่าน REST ด้วย C# ใน 5 ขั้นตอน</h2>
<ol>
<li><strong>อัปโหลดไฟล์ <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> แหล่งที่มา</strong>: ใช้เมธอด <code>StorageApi.UploadFile</code> เพื่อวาง <code>sample1.xlsx</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> stream1 = <span style="color:#66d9ef">new</span> FileStream(localFilePath1, FileMode.Open, FileAccess.Read))
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">var</span> uploadRequest1 = <span style="color:#66d9ef">new</span> UploadFileRequest(remoteFilePath1, stream1);
</span></span><span style="display:flex;"><span>    storageApi.UploadFile(uploadRequest1);
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><ol start="2">
<li><strong>อัปโหลดไฟล์ XLSX ปลายทาง</strong>: ทำการอัปโหลดซ้ำสำหรับ <code>sample2.xlsx</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> stream2 = <span style="color:#66d9ef">new</span> FileStream(localFilePath2, FileMode.Open, FileAccess.Read))
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">var</span> uploadRequest2 = <span style="color:#66d9ef">new</span> UploadFileRequest(remoteFilePath2, stream2);
</span></span><span style="display:flex;"><span>    storageApi.UploadFile(uploadRequest2);
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><ol start="3">
<li><strong>กำหนดค่าตัวเลือกการเปรียบเทียบ</strong>: สร้างอ็อบเจกต์ <code>CompareOptions</code> ตั้งค่าเส้นทางไฟล์แหล่งที่มาและปลายทาง กำหนดเส้นทางผลลัพธ์ และปรับการตั้งค่าเช่น <code>GenerateSummaryPage</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> compareOptions = <span style="color:#66d9ef">new</span> CompareOptions
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    SourceFile = <span style="color:#66d9ef">new</span> FileInfo { FilePath = remoteFilePath1 },
</span></span><span style="display:flex;"><span>    TargetFiles = <span style="color:#66d9ef">new</span> List&lt;FileInfo&gt;
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">new</span> FileInfo { FilePath = remoteFilePath2 }
</span></span><span style="display:flex;"><span>    },
</span></span><span style="display:flex;"><span>    OutputPath = remoteResultPath,
</span></span><span style="display:flex;"><span>    Settings = <span style="color:#66d9ef">new</span> Settings
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        GenerateSummaryPage = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>        ShowDeletedContent = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>        ShowInsertedContent = <span style="color:#66d9ef">true</span>
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>};
</span></span></code></pre></div><p>ดูเอกสารอ้างอิง API เต็มรูปแบบสำหรับ <code>CompareOptions</code> และ <code>Settings</code> ที่ <a href="https://reference.groupdocs.cloud/comparison/">API Reference</a>。<br>
4. <strong>ดำเนินการเปรียบเทียบ</strong>: เรียก <code>CompareApi.CompareDocument</code> พร้อมกับ <code>CompareDocumentRequest</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> compareRequest = <span style="color:#66d9ef">new</span> CompareDocumentRequest(compareOptions);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> compareResult = compareApi.CompareDocument(compareRequest);
</span></span></code></pre></div><ol start="5">
<li><strong>ดาวน์โหลดผลลัพธ์และทำความสะอาด</strong>: ดึง <code>result.xlsx</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> downloadRequest = <span style="color:#66d9ef">new</span> DownloadFileRequest(compareResult.Path);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> resultStream = storageApi.DownloadFile(downloadRequest))
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> fileStream = <span style="color:#66d9ef">new</span> FileStream(localResultPath, FileMode.Create, FileAccess.Write))
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    resultStream.CopyTo(fileStream);
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Clean up</span>
</span></span><span style="display:flex;"><span>storageApi.DeleteFile(<span style="color:#66d9ef">new</span> DeleteFileRequest(remoteFilePath1));
</span></span><span style="display:flex;"><span>storageApi.DeleteFile(<span style="color:#66d9ef">new</span> DeleteFileRequest(remoteFilePath2));
</span></span><span style="display:flex;"><span>storageApi.DeleteFile(<span style="color:#66d9ef">new</span> DeleteFileRequest(remoteResultPath));
</span></span></code></pre></div><h2 id="ตวอยางโคดเตม-เปรยบเทยบไฟล-excel-ผาน-rest-ใน-c-โดยใช-groupdocscomparison">ตัวอย่างโค้ดเต็ม: เปรียบเทียบไฟล์ Excel ผ่าน REST ใน C# โดยใช้ GroupDocs.Comparison</h2>
<p>ตัวอย่างนี้แสดงวิธีอัปโหลดไฟล์ XLSX สองไฟล์, เปรียบเทียบพวกมัน, และดาวน์โหลดผลลัพธ์ที่ไฮไลท์.</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.Collections.Generic;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.IO;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Comparison.Cloud.Sdk.Api;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Comparison.Cloud.Sdk.Client;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Comparison.Cloud.Sdk.Model;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Comparison.Cloud.Sdk.Model.Requests;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">namespace</span> CompareExcelFilesExample
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Program</span>
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> Main(<span style="color:#66d9ef">string</span>[] args)
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Configuration – replace with your actual credentials</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>                ClientSecret = <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>            };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// APIs</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> compareApi = <span style="color:#66d9ef">new</span> CompareApi(config);
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> storageApi = <span style="color:#66d9ef">new</span> StorageApi(config);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Local and remote file names</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">string</span> localFilePath1 = <span style="color:#e6db74">&#34;sample1.xlsx&#34;</span>;
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">string</span> localFilePath2 = <span style="color:#e6db74">&#34;sample2.xlsx&#34;</span>;
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">string</span> remoteFilePath1 = <span style="color:#e6db74">&#34;sample1.xlsx&#34;</span>;
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">string</span> remoteFilePath2 = <span style="color:#e6db74">&#34;sample2.xlsx&#34;</span>;
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">string</span> remoteResultPath = <span style="color:#e6db74">&#34;result.xlsx&#34;</span>;
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">string</span> localResultPath = <span style="color:#e6db74">&#34;result.xlsx&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Upload first Excel file</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> stream1 = <span style="color:#66d9ef">new</span> FileStream(localFilePath1, FileMode.Open, FileAccess.Read))
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">var</span> uploadRequest1 = <span style="color:#66d9ef">new</span> UploadFileRequest(remoteFilePath1, stream1);
</span></span><span style="display:flex;"><span>                storageApi.UploadFile(uploadRequest1);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Upload second Excel file</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> stream2 = <span style="color:#66d9ef">new</span> FileStream(localFilePath2, FileMode.Open, FileAccess.Read))
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">var</span> uploadRequest2 = <span style="color:#66d9ef">new</span> UploadFileRequest(remoteFilePath2, stream2);
</span></span><span style="display:flex;"><span>                storageApi.UploadFile(uploadRequest2);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Prepare comparison options</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> compareOptions = <span style="color:#66d9ef">new</span> CompareOptions
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                SourceFile = <span style="color:#66d9ef">new</span> FileInfo { FilePath = remoteFilePath1 },
</span></span><span style="display:flex;"><span>                TargetFiles = <span style="color:#66d9ef">new</span> List&lt;FileInfo&gt;
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">new</span> FileInfo { FilePath = remoteFilePath2 }
</span></span><span style="display:flex;"><span>                },
</span></span><span style="display:flex;"><span>                OutputPath = remoteResultPath,
</span></span><span style="display:flex;"><span>                Settings = <span style="color:#66d9ef">new</span> Settings
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#75715e">// Example: show changes in a new sheet</span>
</span></span><span style="display:flex;"><span>                    GenerateSummaryPage = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>                    ShowDeletedContent = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>                    ShowInsertedContent = <span style="color:#66d9ef">true</span>
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>            };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Execute comparison</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> compareRequest = <span style="color:#66d9ef">new</span> CompareDocumentRequest(compareOptions);
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> compareResult = compareApi.CompareDocument(compareRequest);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Download the result file</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> downloadRequest = <span style="color:#66d9ef">new</span> DownloadFileRequest(compareResult.Path);
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> resultStream = storageApi.DownloadFile(downloadRequest))
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">using</span> (<span style="color:#66d9ef">var</span> fileStream = <span style="color:#66d9ef">new</span> FileStream(localResultPath, FileMode.Create, FileAccess.Write))
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                resultStream.CopyTo(fileStream);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Optional: clean up remote files</span>
</span></span><span style="display:flex;"><span>            storageApi.DeleteFile(<span style="color:#66d9ef">new</span> DeleteFileRequest(remoteFilePath1));
</span></span><span style="display:flex;"><span>            storageApi.DeleteFile(<span style="color:#66d9ef">new</span> DeleteFileRequest(remoteFilePath2));
</span></span><span style="display:flex;"><span>            storageApi.DeleteFile(<span style="color:#66d9ef">new</span> DeleteFileRequest(remoteResultPath));
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">&#34;Comparison completed. Result saved to &#34;</span> + localResultPath);
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><blockquote>
<p><strong>หมายเหตุ:</strong> ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบและอัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาที่จำเป็นทั้งหมดได้ติดตั้งอย่างถูกต้อง และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากพบปัญหาใด ๆ โปรดดูที่ <a href="https://docs.groupdocs.cloud/comparison/">เอกสารอย่างเป็นทางการ</a> หรือ ติดต่อ <a href="https://forum.groupdocs.cloud/c/comparison/12">ทีมสนับสนุน</a> เพื่อขอความช่วยเหลือ</p>
</blockquote>
<h2 id="การเรยกใช-comparison-rest-api-ดวย-curl">การเรียกใช้ Comparison REST API ด้วย cURL</h2>
<p>ด้านล่างเป็น workflow ของ cURL ที่ทำงานเดียวกันโดยไม่ต้องเขียนโค้ด C#. แทนที่ค่าตัวแปรตำแหน่งด้วยข้อมูลประจำตัวและชื่อไฟล์จริงของคุณ</p>
<ol>
<li>
<p><strong>รับโทเค็นการเข้าถึง</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/oauth2/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{&#34;client_id&#34;:&#34;YOUR_CLIENT_ID&#34;,&#34;client_secret&#34;:&#34;YOUR_CLIENT_SECRET&#34;}&#39;</span>
</span></span></code></pre></div></li>
<li>
<p><strong>อัปโหลดไฟล์ XLSX ต้นฉบับ</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/sample1.xlsx&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     --data-binary <span style="color:#e6db74">&#34;@sample1.xlsx&#34;</span>
</span></span></code></pre></div></li>
<li>
<p><strong>อัปโหลดไฟล์ XLSX ปลายทาง</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/sample2.xlsx&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     --data-binary <span style="color:#e6db74">&#34;@sample2.xlsx&#34;</span>
</span></span></code></pre></div></li>
<li>
<p><strong>ดำเนินการเปรียบเทียบ</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/comparison/compare&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;source_file&#34;: {&#34;file_path&#34;: &#34;sample1.xlsx&#34;},
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;target_files&#34;: [{&#34;file_path&#34;: &#34;sample2.xlsx&#34;}],
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;output_path&#34;: &#34;result.xlsx&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;settings&#34;: {
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;generate_summary_page&#34;: true,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;show_deleted_content&#34;: true,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;show_inserted_content&#34;: true
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           }
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div></li>
<li>
<p><strong>ดาวน์โหลดผลลัพธ์</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/result.xlsx&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -o result.xlsx
</span></span></code></pre></div></li>
</ol>
<p>สำหรับรายการเต็มของจุดสิ้นสุดและพารามิเตอร์, ดู <a href="https://docs.groupdocs.cloud/comparison/">เอกสาร API อย่างเป็นทางการ</a>.</p>
<h2 id="ขอกำหนดเบองตนและการตงคา">ข้อกำหนดเบื้องต้นและการตั้งค่า</h2>
<ol>
<li>ติดตั้งแพ็คเกจ .NET ผ่าน NuGet:</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-bash" data-lang="bash"><span style="display:flex;"><span>dotnet add package GroupDocs.Comparison-Cloud
</span></span></code></pre></div><ol start="2">
<li>ตรวจสอบว่าคุณมีบัญชี GroupDocs Cloud ที่ใช้งานได้และรับ <strong>Client Id</strong> และ <strong>Client Secret</strong> ของคุณจากแดชบอร์ด.</li>
<li>ต้องใช้ .NET 6.0 หรือเวอร์ชันที่ใหม่กว่า.</li>
</ol>
<p>คุณสามารถดาวน์โหลดไลบรารีล่าสุดจาก <a href="https://releases.groupdocs.cloud/comparison/net/">หน้าดาวน์โหลด</a>.</p>
<h2 id="ปรบแตงการตงคาเปรยบเทยบ">ปรับแต่งการตั้งค่าเปรียบเทียบ</h2>
<p>อ็อบเจ็กต์ <code>Settings</code> ภายใน <code>CompareOptions</code> ช่วยให้คุณควบคุมผลลัพธ์ได้ การปรับแต่งทั่วไปรวมถึง:</p>
<ul>
<li><strong>GenerateSummaryPage</strong> - เพิ่มแผ่นสรุปพร้อมสถิติการเปลี่ยนแปลง.</li>
<li><strong>ShowDeletedContent</strong> - ไฮไลต์เซลล์ที่ถูกลบ.</li>
<li><strong>ShowInsertedContent</strong> - ไฮไลต์เซลล์ที่เพิ่มใหม่.</li>
</ul>
<p>คุณสมบัติเหล่านี้ได้ถูกใช้แล้วในตัวอย่างโค้ดข้างต้น สำหรับตัวเลือกเพิ่มเติม เช่น การป้องกันด้วย <code>Password</code> หรือ <code>StyleChangeDetection</code> ให้ดูที่ <a href="https://reference.groupdocs.cloud/comparison/">API Reference</a>.</p>
<h2 id="สรป">สรุป</h2>
<p>การเปรียบเทียบไฟล์ Excel ผ่าน REST ใน C# จะง่ายขึ้นอย่างมากด้วย <a href="https://products.groupdocs.cloud/comparison/net/">GroupDocs.Comparison Cloud SDK for .NET</a>. โดยทำตามขั้นตอน คุณสามารถอัปโหลดไฟล์ XLSX, กำหนดค่าการเปรียบเทียบอย่างละเอียด, เรียกใช้การเปรียบเทียบ, และดึงเวิร์กบุ๊กผลลัพธ์ที่ทำเครื่องหมายความแตกต่างอย่างชัดเจนได้. อย่าลืมรักษาความปลอดภัยของข้อมูลประจำตัว API ของคุณ, ปฏิบัติตามขีดจำกัดขนาดไฟล์, และใช้ใบอนุญาตชั่วคราวสำหรับการพัฒนา. เมื่อคุณพร้อมสำหรับการใช้งานจริง, ซื้อใบอนุญาตเต็มรูปแบบจาก <a href="https://purchase.groupdocs.cloud/temporary-license/">หน้าราคา</a> เพื่อเปิดใช้งานการใช้งานไม่จำกัด.</p>
<h2 id="faqs">FAQs</h2>
<ul>
<li>
<p><strong>ฉันจะเปรียบเทียบไฟล์ Excel ผ่าน REST ใน C# โดยใช้ GroupDocs.Comparison ได้อย่างไร?</strong><br>
ใช้ SDK เพื่ออัปโหลดไฟล์ XLSX สองไฟล์, ตั้งค่า <code>CompareOptions</code>, เรียก <code>CompareDocument</code>, และดาวน์โหลดไฟล์ผลลัพธ์. ขั้นตอนทำงานทั้งหมดแสดงในส่วนของโค้ดและ cURL ด้านบน.</p>
</li>
<li>
<p><strong>วิธีการตรวจสอบสิทธิ์ที่ REST API ต้องการคืออะไร?</strong><br>
API ใช้ OAuth 2.0 พร้อม client‑id และ client‑secret ของคุณเพื่อรับ access token ซึ่งต้องส่งในส่วนหัว <code>Authorization: Bearer</code> สำหรับทุกคำขอ</p>
</li>
<li>
<p><strong>ฉันสามารถปรับแต่งการเน้นการเปลี่ยนแปลงที่แสดงในผลการเปรียบเทียบได้หรือไม่?</strong><br>
ใช่. ปรับวัตถุ <code>Settings</code> (เช่น <code>GenerateSummaryPage</code>, <code>ShowDeletedContent</code>, <code>ShowInsertedContent</code>) เพื่อควบคุมการแสดงผลของความแตกต่าง.</p>
</li>
<li>
<p><strong>ใบอนุญาตชั่วคราวเพียงพอสำหรับการทดสอบหรือไม่?</strong><br>
ใบอนุญาตชั่วคราวจาก <a href="https://purchase.groupdocs.cloud/temporary-license/">หน้าใบอนุญาตชั่วคราว</a> ทำงานสำหรับการพัฒนาและการทดสอบ สำหรับการใช้งานในสภาพแวดล้อมการผลิต ควรได้รับใบอนุญาตเต็มรูปแบบ</p>
</li>
</ul>
<h2 id="อานเพมเตม">อ่านเพิ่มเติม</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/th/comparison/compare-excel-files-using-rest-api-in-python/">เปรียบเทียบไฟล์ Excel ด้วย REST API ใน Python</a></li>
<li><a href="https://blog.groupdocs.cloud/th/comparison/compare-two-excel-sheets-and-highlight-differences-using-java/">เปรียบเทียบไฟล์ Excel และเน้นความแตกต่างใน Java ด้วย REST API</a></li>
<li><a href="https://blog.groupdocs.cloud/th/comparison/compare-pdf-files-using-rest-api-in-python/">เปรียบเทียบไฟล์ PDF ด้วย REST API ใน Python</a></li>
</ul>
]]></content:encoded>
    </item>
    
    <item>
      <title>เปรียบเทียบไฟล์ Excel ผ่าน REST ด้วย C#</title>
      <link>https://blog-qa.groupdocs.cloud/th/comparison/compare-excel-files-via-rest-in-csharp/</link>
      <pubDate>Mon, 21 Sep 2026 11:32:39 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/th/comparison/compare-excel-files-via-rest-in-csharp/</guid>
      <description>เรียนรู้วิธีเปรียบเทียบไฟล์ Excel ใน .NET ด้วย GroupDocs.Comparison Cloud SDK คู่มือนี้แสดงการรวม REST, โค้ด C#, คำสั่ง cURL และเคล็ดลับ</description>
      <content:encoded><![CDATA[<p>การวิเคราะห์การเปลี่ยนแปลงระหว่างเวอร์ชันของสเปรดชีตเป็นงานประจำสำหรับกระบวนการทางการเงิน รายงาน และการตรวจสอบข้อมูล <a href="https://products.groupdocs.cloud/comparison/net/">GroupDocs.Comparison Cloud SDK for .NET</a> ให้ API ที่ทรงพลังซึ่งทำให้การเปรียบเทียบไฟล์ <a href="https://docs.fileformat.com/spreadsheet/xlsx/">Excel</a> ใน .NET เป็นเรื่องง่ายโดยไม่ต้องตรวจสอบด้วยตนเอง ในคู่มือนี้คุณจะได้เห็นวิธีตั้งค่าห้องสมุด การอัปโหลดเวิร์กบุ๊ก การเรียกใช้ REST endpoint จาก C# การดึงข้อมูลการเปลี่ยนแปลงอย่างละเอียด และการปรับแต่งตัวเลือกการเปรียบเทียบเพื่อผลลัพธ์ที่แม่นยำ</p>
<h2 id="กอนเรมตน-ขอกำหนดและการตดตง">ก่อนเริ่มต้น: ข้อกำหนดและการติดตั้ง</h2>
<p>ก่อนที่คุณจะเริ่ม, ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:</p>
<ul>
<li>.NET 6.0 หรือใหม่กว่า ติดตั้งแล้ว.</li>
<li>IDE เช่น Visual Studio 2022.</li>
<li>บัญชี GroupDocs Cloud ที่มี <strong>ClientId</strong> และ <strong>ClientSecret</strong>.</li>
<li>เข้าถึงที่เก็บข้อมูล GroupDocs Cloud ที่ไฟล์ Excel จะถูกอัปโหลด.</li>
</ul>
<p>ติดตั้ง SDK ผ่าน NuGet:</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-bash" data-lang="bash"><span style="display:flex;"><span>dotnet add package GroupDocs.Comparison-Cloud
</span></span></code></pre></div><p>ดาวน์โหลดแพ็กเกจล่าสุดจาก <a href="https://releases.groupdocs.cloud/comparison/net/">หน้ารีลีส</a>. หลังจากการติดตั้ง ให้เพิ่มข้อมูลประจำตัวของคุณในโค้ดตามที่แสดงต่อไปนี้ คุณพร้อมแล้วที่จะเริ่มกระบวนการเปรียบเทียบ</p>
<h2 id="คมอขนตอนการเปรยบเทยบไฟล-excel-ใน-net">คู่มือขั้นตอนการเปรียบเทียบไฟล์ Excel ใน .NET</h2>
<p>ขั้นตอนต่อไปนี้แสดงวิธีเปรียบเทียบไฟล์ Excel ใน .NET ด้วย SDK.</p>
<h3 id="ขนตอนท-1-โหลดเอกสารตนฉบบและเอกสารเปาหมาย">ขั้นตอนที่ 1: โหลดเอกสารต้นฉบับและเอกสารเป้าหมาย</h3>
<p>สร้างอ็อบเจกต์การกำหนดค่าโดยใช้ข้อมูลประจำตัวของคุณและสร้างอินสแตนซ์ของ <code>CompareApi</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>    ClientSecret = <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>};
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> compareApi = <span style="color:#66d9ef">new</span> CompareApi(config);
</span></span></code></pre></div><h3 id="ขนตอนท-2-เตรยมเวรกบก-excel">ขั้นตอนที่ 2: เตรียมเวิร์กบุ๊ก Excel</h3>
<p>กำหนดอ็อบเจ็กต์ <code>FileInfo</code> ที่ชี้ไปยังไฟล์ <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> แหล่งต้นทางและปลายทางที่จัดเก็บในที่เก็บข้อมูลของ GroupDocs Cloud.</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> sourceFile = <span style="color:#66d9ef">new</span> FileInfo { FilePath = <span style="color:#e6db74">&#34;input/source.xlsx&#34;</span> };
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> targetFile = <span style="color:#66d9ef">new</span> FileInfo { FilePath = <span style="color:#e6db74">&#34;input/target.xlsx&#34;</span> };
</span></span></code></pre></div><h3 id="ขนตอนท-3-ตงคาตวเลอกและการตงคาการเปรยบเทยบ">ขั้นตอนที่ 3: ตั้งค่าตัวเลือกและการตั้งค่าการเปรียบเทียบ</h3>
<p>กำหนดค่าวัตถุ <code>CompareOptions</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> compareOptions = <span style="color:#66d9ef">new</span> CompareOptions
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    SourceFile = sourceFile,
</span></span><span style="display:flex;"><span>    TargetFiles = <span style="color:#66d9ef">new</span> List&lt;FileInfo&gt; { targetFile },
</span></span><span style="display:flex;"><span>    OutputPath = <span style="color:#e6db74">&#34;output/diff_result.xlsx&#34;</span>,
</span></span><span style="display:flex;"><span>    Settings = <span style="color:#66d9ef">new</span> Settings
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        ShowDeletedContent = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>        ShowInsertedContent = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>        ShowStyleChanges = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>        GenerateSummaryPage = <span style="color:#66d9ef">true</span>
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>};
</span></span></code></pre></div><p>สำหรับรายการการตั้งค่าครบถ้วนทั้งหมด โปรดดูที่ <a href="https://reference.groupdocs.cloud/comparison/">อ้างอิง API</a>.</p>
<h3 id="ขนตอนท-4-ดำเนนการเปรยบเทยบและประมวลผลผลลพธ">ขั้นตอนที่ 4: ดำเนินการเปรียบเทียบและประมวลผลผลลัพธ์</h3>
<p>เรียกเมธอด <code>Compare</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> compareResult = compareApi.Compare(compareOptions);
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">$&#34;Comparison completed. Result file: {compareResult.Path}&#34;</span>);
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">$&#34;Number of changes detected: {compareResult.Changes?.Count ?? 0}&#34;</span>);
</span></span></code></pre></div><h3 id="ขนตอนท-5-ดงขอมลการเปลยนแปลงโดยละเอยด">ขั้นตอนที่ 5: ดึงข้อมูลการเปลี่ยนแปลงโดยละเอียด</h3>
<p>หากคุณต้องการรายงานแบบละเอียด ให้ใช้คำขอ <code>GetChanges</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">var</span> changesRequest = <span style="color:#66d9ef">new</span> GetChangesRequest
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    SourceFile = sourceFile,
</span></span><span style="display:flex;"><span>    TargetFile = targetFile,
</span></span><span style="display:flex;"><span>    OutputPath = <span style="color:#e6db74">&#34;output/detailed_changes.json&#34;</span>
</span></span><span style="display:flex;"><span>};
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">var</span> detailedChanges = compareApi.GetChanges(changesRequest);
</span></span><span style="display:flex;"><span>Console.WriteLine(<span style="color:#e6db74">$&#34;Detailed changes saved to: {detailedChanges.Path}&#34;</span>);
</span></span></code></pre></div><p>ด้วยขั้นตอนเหล่านี้ คุณได้ทำให้กระบวนการเปรียบเทียบไฟล์ Excel ใน .NET เป็นอัตโนมัติอย่างสมบูรณ์.</p>
<h2 id="เปรยบเทยบไฟล-excel-ดวยโปรแกรม---ตวอยางโคดเตม">เปรียบเทียบไฟล์ Excel ด้วยโปรแกรม - ตัวอย่างโค้ดเต็ม</h2>
<p>โค้ดต่อไปนี้แสดงกระบวนการทำงานทั้งหมดตั้งแต่การกำหนดค่าไปจนถึงการจัดการผลลัพธ์</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-csharp" data-lang="csharp"><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> System.Collections.Generic;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Comparison.Cloud.Sdk.Api;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Comparison.Cloud.Sdk.Client;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">using</span> GroupDocs.Comparison.Cloud.Sdk.Model;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">namespace</span> CompareExcelDemo
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">class</span> <span style="color:#a6e22e">Program</span>
</span></span><span style="display:flex;"><span>    {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">static</span> <span style="color:#66d9ef">void</span> Main(<span style="color:#66d9ef">string</span>[] args)
</span></span><span style="display:flex;"><span>        {
</span></span><span style="display:flex;"><span>            <span style="color:#75715e">// Set up API credentials (replace with your actual credentials)</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> config = <span style="color:#66d9ef">new</span> Configuration
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                ClientId = <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>,
</span></span><span style="display:flex;"><span>                ClientSecret = <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>
</span></span><span style="display:flex;"><span>            };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Initialize Compare API</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> compareApi = <span style="color:#66d9ef">new</span> CompareApi(config);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Prepare source and target Excel files (must be uploaded to GroupDocs Cloud storage beforehand)</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> sourceFile = <span style="color:#66d9ef">new</span> FileInfo { FilePath = <span style="color:#e6db74">&#34;input/source.xlsx&#34;</span> };
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> targetFile = <span style="color:#66d9ef">new</span> FileInfo { FilePath = <span style="color:#e6db74">&#34;input/target.xlsx&#34;</span> };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Define comparison options</span>
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">var</span> compareOptions = <span style="color:#66d9ef">new</span> CompareOptions
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                SourceFile = sourceFile,
</span></span><span style="display:flex;"><span>                TargetFiles = <span style="color:#66d9ef">new</span> List&lt;FileInfo&gt; { targetFile },
</span></span><span style="display:flex;"><span>                OutputPath = <span style="color:#e6db74">&#34;output/diff_result.xlsx&#34;</span>,
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// Optional: specify that we want detailed changes for worksheets</span>
</span></span><span style="display:flex;"><span>                Settings = <span style="color:#66d9ef">new</span> Settings
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    ShowDeletedContent = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>                    ShowInsertedContent = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>                    ShowStyleChanges = <span style="color:#66d9ef">true</span>,
</span></span><span style="display:flex;"><span>                    GenerateSummaryPage = <span style="color:#66d9ef">true</span>
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>            };
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">try</span>
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                <span style="color:#75715e">// Call the Compare API</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">var</span> compareResult = compareApi.Compare(compareOptions);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Output basic result information</span>
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;Comparison completed. Result file: {compareResult.Path}&#34;</span>);
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;Number of changes detected: {compareResult.Changes?.Count ?? 0}&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Iterate through change details</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">if</span> (compareResult.Changes != <span style="color:#66d9ef">null</span>)
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    <span style="color:#66d9ef">foreach</span> (<span style="color:#66d9ef">var</span> change <span style="color:#66d9ef">in</span> compareResult.Changes)
</span></span><span style="display:flex;"><span>                    {
</span></span><span style="display:flex;"><span>                        Console.WriteLine(<span style="color:#e6db74">&#34;--------------------------------------------------&#34;</span>);
</span></span><span style="display:flex;"><span>                        Console.WriteLine(<span style="color:#e6db74">$&#34;Change Type   : {change.ChangeType}&#34;</span>);
</span></span><span style="display:flex;"><span>                        Console.WriteLine(<span style="color:#e6db74">$&#34;Worksheet     : {change.Worksheet}&#34;</span>);
</span></span><span style="display:flex;"><span>                        Console.WriteLine(<span style="color:#e6db74">$&#34;Cell Address  : {change.CellAddress}&#34;</span>);
</span></span><span style="display:flex;"><span>                        Console.WriteLine(<span style="color:#e6db74">$&#34;Old Value     : {change.OldValue}&#34;</span>);
</span></span><span style="display:flex;"><span>                        Console.WriteLine(<span style="color:#e6db74">$&#34;New Value     : {change.NewValue}&#34;</span>);
</span></span><span style="display:flex;"><span>                        Console.WriteLine(<span style="color:#e6db74">$&#34;Is New Row    : {change.IsNewRow}&#34;</span>);
</span></span><span style="display:flex;"><span>                        Console.WriteLine(<span style="color:#e6db74">$&#34;Is New Column : {change.IsNewColumn}&#34;</span>);
</span></span><span style="display:flex;"><span>                    }
</span></span><span style="display:flex;"><span>                }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// Retrieve detailed changes via GetChanges (optional)</span>
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">var</span> changesRequest = <span style="color:#66d9ef">new</span> GetChangesRequest
</span></span><span style="display:flex;"><span>                {
</span></span><span style="display:flex;"><span>                    SourceFile = sourceFile,
</span></span><span style="display:flex;"><span>                    TargetFile = targetFile,
</span></span><span style="display:flex;"><span>                    OutputPath = <span style="color:#e6db74">&#34;output/detailed_changes.json&#34;</span>
</span></span><span style="display:flex;"><span>                };
</span></span><span style="display:flex;"><span>                <span style="color:#66d9ef">var</span> detailedChanges = compareApi.GetChanges(changesRequest);
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;Detailed changes saved to: {detailedChanges.Path}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">catch</span> (ApiException apiEx)
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;API error: {apiEx.ErrorCode} - {apiEx.Message}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>            <span style="color:#66d9ef">catch</span> (Exception ex)
</span></span><span style="display:flex;"><span>            {
</span></span><span style="display:flex;"><span>                Console.WriteLine(<span style="color:#e6db74">$&#34;Unexpected error: {ex.Message}&#34;</span>);
</span></span><span style="display:flex;"><span>            }
</span></span><span style="display:flex;"><span>        }
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><blockquote>
<p><strong>หมายเหตุ:</strong> ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบว่าได้อัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาที่จำเป็นทั้งหมดได้ติดตั้งอย่างถูกต้อง และทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดดูที่ <a href="https://docs.groupdocs.cloud/comparison/">เอกสารอย่างเป็นทางการ</a> หรือ ติดต่อ <a href="https://forum.groupdocs.cloud/c/comparison/12">ทีมสนับสนุน</a> เพื่อขอความช่วยเหลือ</p>
</blockquote>
<h2 id="ทำการเปรยบเทยบ-excel-ผาน-rest-ดวย-curl">ทำการเปรียบเทียบ Excel ผ่าน REST ด้วย cURL</h2>
<p>คุณสามารถบรรลุผลลัพธ์เดียวกันโดยไม่ต้องเขียนโค้ด C# โดยเรียกใช้ REST API โดยตรง.</p>
<p><strong>1. ยืนยันตัวตนและรับโทเค็นการเข้าถึง</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v1.0/oauth2/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{&#34;client_id&#34;:&#34;YOUR_CLIENT_ID&#34;,&#34;client_secret&#34;:&#34;YOUR_CLIENT_SECRET&#34;}&#39;</span>
</span></span></code></pre></div><p><strong>2. อัปโหลดเวิร์กบุ๊กต้นฉบับ</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v1.0/storage/file?path=input/source.xlsx&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -T <span style="color:#e6db74">&#34;./source.xlsx&#34;</span>
</span></span></code></pre></div><p><strong>3. อัปโหลดเวิร์กบุ๊กเป้าหมาย</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v1.0/storage/file?path=input/target.xlsx&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -T <span style="color:#e6db74">&#34;./target.xlsx&#34;</span>
</span></span></code></pre></div><p><strong>4. ดำเนินการเปรียบเทียบ</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v1.0/comparison/compare&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#39;{
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;source_file&#34;: {&#34;file_path&#34;:&#34;input/source.xlsx&#34;},
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;target_files&#34;: [{&#34;file_path&#34;:&#34;input/target.xlsx&#34;}],
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;output_path&#34;:&#34;output/diff_result.xlsx&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           &#34;settings&#34;: {
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;show_deleted_content&#34;: true,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;show_inserted_content&#34;: true,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;show_style_changes&#34;: true,
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">               &#34;generate_summary_page&#34;: true
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">           }
</span></span></span><span style="display:flex;"><span><span style="color:#e6db74">         }&#39;</span>
</span></span></code></pre></div><p><strong>5. ดาวน์โหลดเวิร์กบุ๊ก Diff ที่ได้ผล</strong></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-bash" data-lang="bash"><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v1.0/storage/file?path=output/diff_result.xlsx&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -o diff_result.xlsx
</span></span></code></pre></div><p>สำหรับรายการพารามิเตอร์ทั้งหมด ดูที่ <a href="https://docs.groupdocs.cloud/comparison/">เอกสาร API อย่างเป็นทางการ</a>.</p>
<h2 id="สรป">สรุป</h2>
<p>โดยใช้ <strong>GroupDocs.Comparison Cloud SDK for .NET</strong> คุณสามารถเปรียบเทียบไฟล์ Excel ใน .NET ได้อย่างง่ายดายและรับเวิร์กบุ๊ก diff รายละเอียดที่ไฮไลท์การแก้ไขทุกอย่าง สถาปัตยกรรมแบบ REST‑based ของ SDK ช่วยให้คุณรวมการเปรียบเทียบสเปรดชีตเข้าไปในบริการ C# ใด ๆ, เว็บ API, หรืองานเบื้องหลังด้วยความพยายามน้อยที่สุด จำไว้ว่าต้องได้รับใบอนุญาตที่เหมาะสมสำหรับการใช้งานในผลิตภัณฑ์; ใบอนุญาตชั่วคราวมีให้ที่ <a href="https://purchase.groupdocs.cloud/temporary-license/">license page</a> และรายละเอียดการให้ใบอนุญาตเต็มรูปแบบถูกระบุในเว็บไซต์ของผลิตภัณฑ์ เริ่มต้นอัตโนมัติการทำงาน diff ของ Excel ของคุณวันนี้และขจัดข้อผิดพลาดจากการตรวจสอบด้วยตนเอง.</p>
<h2 id="faqs">FAQs</h2>
<ul>
<li>
<p><strong>ฉันจะเปรียบเทียบไฟล์ Excel ใน .NET ได้อย่างไรโดยไม่ต้องเขียนโค้ดมาก?</strong><br>
SDK จะจัดการงานที่ซับซ้อนให้ คุณเพียงแค่ต้องกำหนดข้อมูลประจำตัว, ชี้ไปที่ไฟล์ XLSX สองไฟล์, และเรียก <code>compareApi.Compare</code>. ไลบรารีจะคืนไฟล์ diff และรายการอ็อบเจกต์การเปลี่ยนแปลง.</p>
</li>
<li>
<p><strong>ผลลัพธ์ diff ใช้รูปแบบอะไร?</strong><br>
โดยค่าเริ่มต้นผลลัพธ์จะถูกบันทึกเป็นไฟล์งาน XLSX โดยคงรูปแบบต้นฉบับไว้พร้อมกับแสดงเครื่องหมายภาพสำหรับการลบ การแทรก และการเปลี่ยนแปลงสไตล์</p>
</li>
<li>
<p><strong>สามารถเปรียบเทียบเวิร์กบุ๊ก Excel ที่ถูกป้องกันได้หรือไม่?</strong><br>
ใช่. ให้ระบุรหัสผ่านในคุณสมบัติ <code>Password</code> ของอ็อบเจ็กต์ <code>FileInfo</code>. API จะปลดล็อกเวิร์กบุ๊กก่อนทำการเปรียบเทียบ.</p>
</li>
<li>
<p><strong>ฉันต้องการใบอนุญาตสำหรับการพัฒนาและการทดสอบหรือไม่?</strong><br>
คุณสามารถรับใบอนุญาตชั่วคราวได้จาก <a href="https://purchase.groupdocs.cloud/temporary-license/">หน้าใบอนุญาต</a>. สำหรับการใช้งานในสภาพแวดล้อมการผลิต คุณต้องซื้อใบอนุญาตเต็มตามที่อธิบายในหน้าผลิตภัณฑ์.</p>
</li>
</ul>
<h2 id="อานเพมเตม">อ่านเพิ่มเติม</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/th/comparison/compare-excel-files-using-rest-api-in-python/">เปรียบเทียบไฟล์ Excel ด้วย REST API ใน Python</a></li>
<li><a href="https://blog.groupdocs.cloud/th/comparison/compare-two-excel-sheets-and-highlight-differences-using-java/">เปรียบเทียบไฟล์ Excel และไฮไลท์ความแตกต่างใน Java ด้วย REST API</a></li>
<li><a href="https://blog.groupdocs.cloud/th/comparison/compare-pdf-files-using-rest-api-in-python/">เปรียบเทียบไฟล์ PDF ด้วย REST API ใน Python</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
