مكتبة Ruby مجانية لتحليل ملف Excel XLSX كبير عن بُعد

مكتبة Ruby مفتوحة المصدر قوية لتحليل ملفات Excel XLSX و XLSM الكبيرة عن بُعد. تدعم تحليل الملفات البعيدة والصور، وتعيين رؤوس الجداول، وغيرها.

ما هي مكتبة Creek؟

في عالم معالجة البيانات، يمكن أن يكون التعامل مع ملفات Excel الكبيرة مهمة شاقة، غالبًا ما ينتج عنها عنق زجاجة في الأداء واستهلاك عالي للذاكرة. هنا يأتي Creek، مكتبة Ruby مفتوحة المصدر قوية تم تصميمها لتحليل ملفات Excel الكبيرة بكفاءة ملحوظة. إنها أداة فعّالة لتحليل ملفات Excel الكبيرة. توضح الميزات الرئيسية مثل التحليل المتدفّق، الدعم لأنواع ملفات متعددة، وخيارات الاستخدام المرنة في كل من السكريبتات المستقلة وتطبيقات Rails. توفر دعماً كاملاً للعمليات الأساسية، وتحليل الصور، ومعالجة الملفات البعيدة، مما يجعلها موردًا قيمًا للمطورين الذين يسعون لتحسين سير عمل معالجة البيانات لديهم.

Creek هي مكتبة مفتوحة المصدر قوية، فعّالة، ومركّزة لتحليل ملفات Excel بصيغة .xlsx / .xlsm في Ruby. إنها حزمة Ruby gem توفر طريقة سريعة وبسيطة لقراءة وتحليل ملفات Excel الكبيرة (XLSX و XLSM). تستخدم التحليل المتدفّق، مما يعني أنها تقرأ الملف قطعةً بقطعة بدلاً من تحميل الملف بالكامل في الذاكرة. تجعل هذه الطريقة Creek فعّالة للغاية في استهلاك الذاكرة ومثالية للتطبيقات التي تتعامل مع مجموعات بيانات ضخمة. سواءً كنت تعمل على سكريبت Ruby مستقل أو تطبيق Rails، فإن Creek تقدم تجربة دمج سلسة. إذا كان مشروعك يتضمن جداول بيانات كبيرة، صور، بيانات وصفية، أو تحميلات ملفات في Rails، فإن Creek توفر الكثير من الوظائف اللازمة بأقل عبء.

Previous Next

البدء مع Creek

الطريقة الموصى بها لتثبيت مكتبة Creek هي باستخدام RubyGems. يرجى استخدام الأمر التالي لتثبيت سلس.

تثبيت Creek عبر RubyGems

$ gem install Creek  

تحليل ملفات Excel الكبيرة عبر Ruby

الأساس الرئيسي لمكتبة Creek المفتوحة المصدر هو قدرتها على التحليل المتدفّق. تتيح لك هذه الميزة معالجة ملفات Excel الكبيرة دون القلق بشأن استنزاف الذاكرة. من خلال قراءة الملف على دفعات، يضمن Creek بقاء تطبيقك استجابياً ومستقراً، حتى عند التعامل مع ملفات تحتوي على مئات الآلاف من الصفوف. الاستخدام الأكثر شائعاً هو فتح ملف وقراءة البيانات من أوراق عمله. إليك مثالاً بسيطاً يوضح كيف يمكن للمطورين تحليل ملف Excel عبر مكتبة Ruby.

كيف تحلل ملفات Excel XLSX الكبيرة باستخدام مكتبة Ruby؟

require 'creek'

# Open the Excel file
creek = Creek::Book.new 'path/to/your/sample.xlsx'

# Get the first sheet
sheet = creek.sheets[0]

# Loop through rows with cell coordinates
sheet.rows.each do |row|
  puts row
  # => {"A1"=>"Content 1", "B1"=>nil, "C1"=>"Content 2"}
end

# Loop through rows without cell coordinates
sheet.simple_rows.each do |row|
  puts row
  # => {"A"=>"Content 1", "B"=>nil, "C"=>"Content 2"}
End

تحليل واستخراج الصور عبر مكتبة Ruby

على الرغم من عدم تمكينها بشكل افتراضي لتقليل استهلاك الذاكرة، يمكن لمكتبة Creek تحليل الصور من ملفات Excel الخاصة بك. باستخدام طريقة with_images، يمكنك تحميل واستخراج الصور من الخلايا مسبقاً. تُرجَع الصور كمصفوفة من كائنات Pathname، مما يجعل التعامل معها سهلاً. إليك مثالاً بسيطاً يوضح كيف يمكن للمطورين تحليل واستخراج الصور من جدول بيانات Excel عبر مكتبة Ruby.

كيف تحلل وتستخرج الصور من ورقة عمل Excel باستخدام مكتبة Ruby؟

require 'creek'

book = Creek::Book.new 'presentation.xlsx'
sheet = book.sheets.first

sheet.with_images.rows.each do |row|
  row.each do |coord, value|
    if value.is_a?(Array)
      # this cell has images
      puts "Images at #{coord}: #{value.inspect}"
    else
      puts "#{coord}: #{value}"
    end
  end
end

# Images at a specific cell
images = sheet.images_at('B2')
if images
  images.each do |path|
    puts "Found image file: #{path}"
  end
else
  puts "No image at B2"
end

تحليل الملفات البعيدة عبر مكتبة Ruby

هل تحتاج إلى تحليل ملف Excel من عنوان URL؟ مكتبة Creek تغطي هذا الاحتياج. من خلال ضبط الخيار remote: true، يمكنك تحليل الملفات مباشرةً من خادم بعيد، دون الحاجة إلى تنزيلها أولاً. يمكنك تحليل الملفات من عناوين URL أو مسارات حتى وإن لم تكن ذات امتداد .xlsx أو .xlsm. يمكن تخطي فحص الامتداد. يمكن تمرير الوسيط check_file_extension لتجاوز فرض الامتداد. إليك مثالاً بسيطاً لتحليل ملفات Excel عن بُعد عبر مكتبة Ruby.

كيف تحلل ملف Excel XLSX عن بُعد باستخدام مكتبة Ruby؟

remote_url = 'http://example.com/sample.xlsx'
creek = Creek::Book.new remote_url, remote: true
# ... process the file

تحليل ملفات XLSX و XLSM عبر Ruby

تدعم مكتبة Ruby المفتوحة المصدر Creek كلًّا من تنسيق XLSX القياسي وتنسيق XLSM المدعم للماكرو، مما يوفر مرونة لمجموعة متنوعة من الحالات الاستخدامية. يضمن ذلك إمكانية التعامل مع مجموعة واسعة من ملفات Excel دون الحاجة إلى مكتبات متعددة.

 عربي