<?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>csharp on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/ar/tag/csharp/</link>
    <description>Recent content in csharp on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ar</language>
    <lastBuildDate>Fri, 09 Oct 2026 14:45:06 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/ar/tag/csharp/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>قارن ملفات Excel عبر REST باستخدام C#</title>
      <link>https://blog-qa.groupdocs.cloud/ar/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/ar/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</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>فيما يلي سير عمل 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/">الوثائق الرسمية لواجهة برمجة التطبيقات</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>معرف العميل</strong> و <strong>سر العميل</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</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="الأسئلة-المتكررة">الأسئلة المتكررة</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) للحصول على رمز وصول، ويجب إرساله في رأس <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/ar/comparison/compare-excel-files-using-rest-api-in-python/">مقارنة ملفات Excel باستخدام REST API في Python</a></li>
<li><a href="https://blog.groupdocs.cloud/ar/comparison/compare-two-excel-sheets-and-highlight-differences-using-java/">مقارنة ملفات Excel وتحديد الاختلافات في Java باستخدام REST API</a></li>
<li><a href="https://blog.groupdocs.cloud/ar/comparison/compare-pdf-files-using-rest-api-in-python/">مقارنة ملفات PDF باستخدام REST API في Python</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
