Dans ruby, vous pouvez utiliser Excel en utilisant win32ole. J'ai eu une erreur à SaveAs, alors prenez note des notes. C'était une erreur comme method_missing: (dans la méthode OLE'saveas ') (WIN32OLERuntimeError).
Lors de l'enregistrement dans le répertoire spécifié
require 'win32ole'
app = WIN32OLE.new('Excel.Application')
book = app.workbooks.add
out_path = File.expand_path('test.xlsx').gsub('/', '\\')
book.saveas filename: out_path
book.close savechanges: false
app.quit
Les chemins relatifs sont disponibles en rubis. Les chemins relatifs peuvent être utilisés dans Excel, mais l'emplacement indiqué par «courant» est le dossier local défini dans Excel. Il s'agit de l'emplacement décrit dans l'option "Emplacement de stockage des fichiers locaux par défaut" facultatif. Donc, je vais en faire un chemin absolu pour rendre l'emplacement où ruby est en cours d'exécution.
out_path = File.expand_path('test.xlsx')
Dans le chemin ruby, / (barre oblique) est utilisé pour séparer la hiérarchie. Apparemment, il n'a pas pu être enregistré tel quel, alors remplacez le délimiteur par \ (barre oblique inverse).
out_path = File.expand_path('test.xlsx').gsub('/', '\\')
Les arguments nommés peuvent être spécifiés par des symboles. VBA utilise ": =", mais écrivez-le comme suit.
workbook.saveas filename: path
Il n'a pas été vérifié pourquoi cela peut être fait. Parce que vous passez l'argument comme un hachage?
Cela semble être la base du rubis,
p out_path
Dans, la chaîne est placée entre "" et \ est échappé comme \\. (Je veux en faire un, pas \\ !, Et faire diverses choses pendant plusieurs heures ...) C'est juste une question d'afficher l'invite, et il n'y a en fait qu'un seul .
puts out_path
J'aurais dû le faire.
Puisqu'il s'agit d'un débutant en rubis, il peut y avoir une description incorrecte. Je vous serais reconnaissant si vous pouviez le souligner dans les commentaires.