Bibliothèque Ruby gratuite pour analyser à distance un gros fichier Excel XLSX

Une puissante bibliothèque Ruby open source pour analyser à distance de gros fichiers Excel XLSX et XLSM. Elle prend en charge l’analyse de fichiers distants et d’images, le mappage des en‑têtes, etc.

Qu’est‑ce que la bibliothèque Creek ?

Dans le monde du traitement des données, gérer de gros fichiers Excel peut être une tâche ardue, entraînant souvent des goulets d’étranglement de performance et une consommation élevée de mémoire. Voici Creek, une puissante bibliothèque Ruby open‑source conçue pour analyser de gros fichiers Excel avec une efficacité remarquable. C’est un outil efficace pour l’analyse de gros fichiers Excel. Elle détaille les fonctions clés telles que l’analyse en flux, la prise en charge de divers types de fichiers et des options d’utilisation flexibles tant dans les scripts autonomes que les applications Rails. Elle offre un support complet pour les opérations de base, l’analyse d’images et la gestion de fichiers distants, ce qui en fait une ressource précieuse pour les développeurs cherchant à optimiser leurs flux de traitement de données.

Creek est une bibliothèque open‑source robuste, efficace et ciblée pour analyser les fichiers Excel .xlsx/.xlsm en Ruby. Il s’agit d’une gem Ruby qui fournit un moyen rapide et simple de lire et d’analyser de gros fichiers Excel (XLSX et XLSM). Elle utilise l’analyse en flux, ce qui signifie qu’elle lit le fichier morceau par morceau au lieu de le charger entièrement en mémoire. Cette approche rend Creek incroyablement efficace en mémoire et idéal pour les applications qui traitent des ensembles de données massifs. Que vous travailliez sur un script Ruby autonome ou une application Rails, Creek offre une expérience d’intégration fluide. Si votre projet implique de grands tableaux, des images, des métadonnées ou des téléchargements de fichiers Rails, Creek fournit de nombreuses fonctionnalités nécessaires avec un minimum d’encombrement.

Previous Next

Premiers pas avec Creek

La façon recommandée d’installer la bibliothèque Creek est d’utiliser RubyGems. Veuillez utiliser la commande suivante pour une installation fluide.

Installer Creek via RubyGems

$ gem install Creek  

Analyser de gros fichiers Excel avec Ruby

Le pilier de la bibliothèque open source Creek est sa capacité d'analyse en flux. Cette fonctionnalité vous permet de traiter de gros fichiers Excel sans vous soucier d'une surcharge de mémoire. En lisant le fichier par morceaux, Creek garantit que votre application reste réactive et stable, même lors du traitement de fichiers contenant des centaines de milliers de lignes. Le cas d'utilisation le plus courant consiste à ouvrir un fichier et à lire les données de ses feuilles de calcul. Voici un exemple simple illustrant comment les développeurs logiciels peuvent analyser un fichier Excel via la bibliothèque Ruby.

Comment analyser de gros fichiers Excel XLSX via la bibliothèque 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

Analyse et extraction d’images via la bibliothèque Ruby

Bien que non activée par défaut afin d'économiser de la mémoire, la bibliothèque Creek peut analyser les images de vos fichiers Excel. En utilisant la méthode with_images, vous pouvez précharger et extraire les images des cellules. Les images sont renvoyées sous forme de tableau d'objets Pathname, ce qui facilite leur manipulation. Voici un exemple simple montrant comment les développeurs logiciels peuvent analyser et extraire des images d'une feuille de calcul Excel via la bibliothèque Ruby.

Comment analyser et extraire les images d’une feuille de calcul Excel via la bibliothèque 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

Analyse de fichiers distants via la bibliothèque Ruby

Besoin d'analyser un fichier Excel depuis une URL ? La bibliothèque Creek vous couvre. En activant l'option remote: true, vous pouvez analyser les fichiers directement depuis un serveur distant, éliminant ainsi le besoin de les télécharger au préalable. Vous pouvez analyser des fichiers depuis des URL ou des chemins même s'ils n'ont pas d'extensions .xlsx ou .xlsm. La vérification de l'extension peut être ignorée. L'argument check_file_extension peut être fourni pour contourner l'application de l'extension. Voici un exemple simple d'analyse de fichiers Excel à distance via la bibliothèque Ruby.

Comment analyser un fichier Excel XLSX à distance via la bibliothèque Ruby ?

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

Analyse des fichiers XLSX et XLSM via Ruby

La bibliothèque Ruby open source Creek prend en charge à la fois les formats XLSX standard et les formats XLSM activés par macro, offrant ainsi une flexibilité pour divers cas d'utilisation. Cela garantit que vous pouvez gérer une large gamme de fichiers Excel sans avoir besoin de plusieurs bibliothèques.

 Français