私はエクセル文書を持っています。グラフィカル オブジェクト (チャート、ダイアグラム、画像など) にアクセスし、それを ruby 変数に格納します。Spreadsheet と roo gem で同じことを試しましたが、この gem はグラフィカル オブジェクトへのアクセスをサポートしていません。
助けてください。
私はエクセル文書を持っています。グラフィカル オブジェクト (チャート、ダイアグラム、画像など) にアクセスし、それを ruby 変数に格納します。Spreadsheet と roo gem で同じことを試しましたが、この gem はグラフィカル オブジェクトへのアクセスをサポートしていません。
助けてください。
gem rjbでApache POIを使用できます。
インストール:
$ sudo apt-get install openjdk-6-jre-headless openjdk-6-jdk
$ export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
$ sudo apt-get install ant
$ gem install "rjb"
使用する:
require 'rjb'
#RJM Loading
JARS = Dir.glob('./jar/*.jar').join(':')
Rjb::load(JARS, ['-Xmx512M'])
# Classes:
# Java
file_input_class = Rjb::import('java.io.FileInputStream')
file_output_class = Rjb::import('java.io.FileOutputStream')
byte_array_output_class = Rjb::import('java.io.ByteArrayOutputStream')
# POI
workbook_factory_class = Rjb::import('org.apache.poi.ss.usermodel.WorkbookFactory')
file_in_path = "./chart1.xlsx"
file_in = file_input_class.new(file_in_path)
wb = workbook_factory_class.create(file_in)
sheet = wb.getSheetAt(0)
charts = sheet.createDrawingPatriarch().getCharts()
p chart1.getClass().getName() # First chart's name