استخراج متن خام از کتاب‌های کار Excel یک نیاز مکرر هنگام ساخت خطوط لوله داده یا تولید گزارش‌های ساده است. اگر می‌خواهید نحوه تبدیل کتاب کار Excel به متن در Python را بدانید، GroupDocs.Conversion Cloud SDK for Python این کار را ساده می‌کند. این راهنما شما را در نصب SDK، بارگذاری یک کتاب کار، پیکربندی گزینه‌های تبدیل و بازیابی نتیجهٔ سادهٔ TXT راهنمایی می‌کند. در پایان یک اسکریپت قابل استفاده مجدد و مجموعه‌ای از دستورات cURL برای خودکارسازی مبتنی بر REST خواهید داشت.

قبل از شروع: پیش‌نیازها و نصب

قبل از شروع، مطمئن شوید که موارد زیر را دارید:

  • Python 3.7 یا جدیدتر نصب شده بر روی ماشین شما.
  • یک حساب فعال GroupDocs Cloud (client ID و client secret).
  • دسترسی شبکه به نقاط انتهایی GroupDocs Cloud.

SDK را از طریق pip نصب کنید:

pip install groupdocs-conversion-cloud

شما می‌توانید آخرین بسته را از صفحهٔ انتشار رسمی دانلود کنید. پس از نصب، اعتبارنامه‌های خود را به‌عنوان متغیرهای محیطی تنظیم کنید یا پس از آن جایگزین‌گرهای موجود در کد را تغییر دهید. با آماده بودن SDK، می‌توانید فرآیند تبدیل را آغاز کنید.

ساخت گام به گام: نحوه تبدیل کتاب‌کار Excel به متن در Python

مرحله 1: پیکربندی اعتبارها

ابتدا یک شیء Configuration ایجاد کنید و شناسهٔ مشتری (client ID) و رمز (secret) خود را فراهم کنید. این شیء در تمام تماس‌های API بعدی استفاده می‌شود.

import os
from groupdocs_conversion_cloud import Configuration

client_id = os.getenv("GROUPDOCS_CLIENT_ID", "YOUR_CLIENT_ID")
client_secret = os.getenv("GROUPDOCS_CLIENT_SECRET", "YOUR_CLIENT_SECRET")

config = Configuration()
config.client_id = client_id
config.client_secret = client_secret

کلاس Configuration در API reference مستند شده است.

مرحله ۲: بارگذاری کتاب کار اکسل

فایل Excel محلی را به فضای ذخیره‌سازی GroupDocs Cloud بارگذاری کنید. این مرحله در صورتی که فایل شما قبلاً در ابر موجود باشد، اختیاری است.

from groupdocs_conversion_cloud import ApiClient, UploadFileApi, UploadFileRequest

api_client = ApiClient(config)
upload_api = UploadFileApi(api_client)

local_excel_path = "sample.xlsx"
remote_excel_path = "sample.xlsx"

with open(local_excel_path, "rb") as f:
    upload_request = UploadFileRequest(
        path=remote_excel_path,
        file=f.read()
    )
    upload_api.upload_file(upload_request)

API UploadFileApi انتقال فایل‌ها را مدیریت می‌کند؛ برای جزئیات بیشتر به مستندات آن مراجعه کنید.

مرحله ۳: تعریف گزینه‌های تبدیل

یک شیء TxtConvertOptions ایجاد کنید تا هر پارامتر اختیاری مانند بازه صفحه را مشخص کنید. سپس شیء ConvertSettings را بسازید که همه چیز را به هم متصل می‌کند.

from groupdocs_conversion_cloud import (
    FileInfo,
    TxtConvertOptions,
    ConvertSettings,
)

file_info = FileInfo()
file_info.file_path = remote_excel_path

txt_options = TxtConvertOptions()
# txt_options.page_number = 1   # Uncomment to start from a specific page
# txt_options.page_count = 1    # Uncomment to limit the number of pages

convert_settings = ConvertSettings()
convert_settings.file_info = file_info
convert_settings.format = "txt"
convert_settings.output_path = "sample.txt"
convert_settings.options = txt_options

کلاس TxtConvertOptions به شما امکان تنظیم دقیق تبدیل را می‌دهد؛ برای همه فیلدهای موجود به مستندات رسمی مراجعه کنید.

مرحله ۴: اجرای تبدیل

متد convert از ConvertApi را با تنظیمات آماده فراخوانی کنید. پاسخ شامل URLی برای دانلود فایل تبدیل‌شده است.

from groupdocs_conversion_cloud import ConvertApi, ApiException

convert_api = ConvertApi(api_client)

try:
    conversion_result = convert_api.convert(convert_settings)
    print(f"Conversion succeeded. Download URL: {conversion_result.url}")
except ApiException as e:
    print(f"Conversion failed: {e}")

اگر فراخوانی موفق باشد، یک لینک دانلود مستقیم برای فایل TXT دریافت خواهید کرد.

مرحله 5: بازیابی نتیجه

از URL مرحلهٔ قبلی برای دانلود فایل متنی ساده به محیط محلی خود استفاده کنید یا آن را در برنامه‌تان پردازش بیشتری انجام دهید.

نکته: می‌توانید دانلود را با یک فراخوانی ساده requests.get() خودکار کنید، احراز هویت را از طریق همان توکن دسترسی که برای درخواست تبدیل استفاده می‌شود، مدیریت کنید.

با این مراحل، اکنون یک جریان کاری کامل برای چگونه تبدیل دفتر کار Excel به متن در پایتون با استفاده از کتابخانه GroupDocs دارید.

تبدیل متن کتاب کار Excel - مثال کامل کد

مثال زیر پیاده‌سازی کامل را از ابتدا تا انتها نشان می‌دهد.

import os
from groupdocs_conversion_cloud import (
    Configuration,
    ApiClient,
    UploadFileApi,
    UploadFileRequest,
    ConvertApi,
    ConvertSettings,
    FileInfo,
    TxtConvertOptions,
    ApiException,
)

def main():
    # ----------------------------------------------------------------------
    # 1. Configure credentials (replace placeholders or set env variables)
    # ----------------------------------------------------------------------
    client_id = os.getenv("GROUPDOCS_CLIENT_ID", "YOUR_CLIENT_ID")
    client_secret = os.getenv("GROUPDOCS_CLIENT_SECRET", "YOUR_CLIENT_SECRET")

config = Configuration()
    config.client_id = client_id
    config.client_secret = client_secret

api_client = ApiClient(config)

# ----------------------------------------------------------------------
    # 2. Upload local Excel workbook to GroupDocs Cloud storage (optional)
    # ----------------------------------------------------------------------
    local_excel_path = "sample.xlsx"          # path to the Excel file on your machine
    remote_excel_path = "sample.xlsx"         # path where the file will be stored in the cloud

upload_api = UploadFileApi(api_client)
    try:
        with open(local_excel_path, "rb") as f:
            upload_request = UploadFileRequest(
                path=remote_excel_path,
                file=f.read()
            )
            upload_api.upload_file(upload_request)
        print(f"Uploaded '{local_excel_path}' to cloud storage as '{remote_excel_path}'.")
    except (ApiException, IOError) as e:
        print(f"Failed to upload file: {e}")
        return

# ----------------------------------------------------------------------
    # 3. Prepare conversion settings to transform Excel → plain text
    # ----------------------------------------------------------------------
    convert_api = ConvertApi(api_client)

file_info = FileInfo()
    file_info.file_path = remote_excel_path          # source file in cloud storage

txt_options = TxtConvertOptions()
    # (optional) you can limit conversion to specific pages:
    # txt_options.page_number = 1
    # txt_options.page_count = 1

convert_settings = ConvertSettings()
    convert_settings.file_info = file_info
    convert_settings.format = "txt"                  # target format
    convert_settings.output_path = "sample.txt"      # result file name in cloud storage
    convert_settings.options = txt_options

# ----------------------------------------------------------------------
    # 4. Execute conversion
    # ----------------------------------------------------------------------
    try:
        conversion_result = convert_api.convert(convert_settings)
        # The result contains a URL to download the converted file
        print(f"Conversion succeeded. Download URL: {conversion_result.url}")
    except ApiException as e:
        print(f"Conversion failed: {e}")

if __name__ == "__main__":
    main()

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، مطمئن شوید که مسیرهای فایل و مقادیر پیکربندی را به‌گونه‌ای به‌روزرسانی کنید که با محیط واقعی شما مطابقت داشته باشد، اطمینان حاصل کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک با تیم پشتیبانی تماس بگیرید.

تبدیل Excel به متن با استفاده از cURL و REST API

اگر ترجیح می‌دهید از روش صرفاً REST استفاده کنید، می‌توانید همان تبدیل را با دستورات cURL انجام دهید.

  1. دریافت توکن دسترسی
curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. بارگذاری فایل اکسل منبع
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/sample.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary @sample.xlsx
  1. شروع تبدیل به TXT
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "sample.xlsx" },
           "format": "txt",
           "outputPath": "sample.txt",
           "options": {}
         }'
  1. فایل TXT تبدیل‌شده را دانلود کنید
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/sample.txt" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o sample.txt

این دستورات چرخه کامل از احراز هویت تا دانلود را نشان می‌دهند. برای پارامترهای اضافی و مدیریت خطا، به مرجع API مراجعه کنید.

پیکربندی تنظیمات تبدیل برای Excel

SDK چند گزینه برای تنظیم خروجی ارائه می‌دهد. در زیر مفیدترین تنظیمات برای تبدیل Excel‑به‑TXT آورده شده است:

  • شماره صفحه - تبدیل را از یک شیت یا صفحه خاص شروع کنید.
    txt_options.page_number = 1
    
  • تعداد صفحه - تعداد شیت‌ها/صفحات برای تبدیل را محدود کنید.
    txt_options.page_count = 2
    
  • مسیر خروجی - نام و مکان فایل TXT تولید شده را در ذخیره‌سازی ابری تعریف کنید.
    convert_settings.output_path = "output/sample.txt"
    

گزینه‌های پیشرفته دیگر مانند encoding یا preserveFormatting در مرجع API موجود هستند؛ برای برآورده کردن نیازهای دقیق خود، آن‌ها را بررسی کنید.

نتیجه‌گیری

تبدیل یک کتاب کار Excel به متن ساده در Python اکنون به‌دلیل GroupDocs.Conversion Cloud SDK for Python یک فرآیند ساده و قابل تکرار است. این SDK احراز هویت، ذخیره‌سازی فایل و تبدیل را در پس‌زمینه مدیریت می‌کند و به شما امکان می‌دهد بر منطق کسب‌وکار تمرکز کنید. به یاد داشته باشید گزینه‌های مجوز را در صفحه قیمت‌گذاری بررسی کنید و برای ارزیابی قبل از انتقال به تولید، یک مجوز موقت دریافت کنید. با کدها و مثال‌های cURL ارائه‌شده، می‌توانید تبدیل Excel‑to‑TXT را در هر جریان کاری یا میکروسرویسی مبتنی بر Python یکپارچه کنید.

سوالات متداول

  • آسان‌ترین راه برای تبدیل یک کتاب کار Excel به متن در پایتون چیست؟
    از GroupDocs.Conversion Cloud SDK for Python استفاده کنید. این SDK فراخوانی‌های REST را انتزاع می‌کند و یک API پایتونی تمیز برای بارگذاری، تبدیل و دانلود فایل‌ها فراهم می‌آورد.

  • آیا می‌توانم فقط شیت‌ها یا صفحات خاصی از یک کتاب‌کار Excel را تبدیل کنم؟
    بله. مقدار page_number و page_count را در شیء TxtConvertOptions تنظیم کنید تا شیت‌های مورد نظر هدف قرار گیرند. برای جزئیات کامل به API reference مراجعه کنید.

  • آیا برای استفاده از SDK به حساب GroupDocs نیاز دارم؟
    یک حساب معتبر GroupDocs Cloud با شناسه مشتری (client ID) و رمز (secret) لازم است. می‌توانید یک حساب در پورتال GroupDocs ایجاد کنید و اعتبارنامه‌ها را از داشبورد دریافت کنید.

  • آیا محدودیتی برای اندازه فایل در تبدیل Excel به TXT وجود دارد؟
    سرویس ابری تا 200 MB فایل را برای تبدیل پشتیبانی می‌کند. فایل‌های بزرگ‌تر باید قبل از بارگذاری تقسیم یا به صورت بخش‑بخش پردازش شوند.

مطالعهٔ بیشتر