XLS выбрасывает java.lang.ClassNotFoundException: org.apache.poi.hssf.util.HSSFColor $ BLACK - PullRequest
0 голосов
/ 27 июня 2018

У меня возникают проблемы при попытке открыть файл XLS с помощью Apache POI. Я интегрирую HSSF в приложение рельсов.

Мой код похож на:

require "rjb"

  Rjb::add_jar(File.expand_path('demo/poi-3.9/poi-3.9-20121203.jar'))
  Rjb::add_jar(File.expand_path('demo/poi-3.9/commons-codec-1.7.jar'))

  Black = Rjb::import 'org.apache.poi.hssf.util.HSSFColor$BLACK'
  HSSFCell = Rjb::import 'org.apache.poi.hssf.usermodel.HSSFCell'
  HSSFCellStyle = Rjb::import 'org.apache.poi.hssf.usermodel.HSSFCellStyle'
  HSSFFont = Rjb::import 'org.apache.poi.hssf.usermodel.HSSFFont'
  HSSFWorkbook = Rjb::import 'org.apache.poi.hssf.usermodel.HSSFWorkbook'
  IOUtils = Rjb::import 'org.apache.poi.util.IOUtils'
  JavaFont = Rjb::import 'java.awt.Font'
  FileInputStream = Rjb::import 'java.io.FileInputStream'
  FileOutputStream = Rjb::import 'java.io.FileOutputStream'

def self.export_xls (params)
    file = "tmp/#{Time.now.to_formatted_s(:number)}_#{abc}.xls"
    @book = HSSFWorkbook.new
    @sheet1 = @book.createSheet l(:report_name)
    @drawing = @sheet1.createDrawingPatriarch()
    @number_of_column = 0
    @number_of_column_to_merge = 10
    black = Black.index

    @styleTableTitle = @book.createCellStyle()       
    @styleTableTitle.setBorderBottom(HSSFCellStyle.BORDER_THIN)
    @styleTableTitle.setBottomBorderColor(black)

    out = FileOutputStream.new("#{Rails.root}/" + file)
    @book.write(out)
    out.close()
    file
end

Исключительный бросок:

RuntimeError (java.lang.ClassNotFoundException: org.apache.poi.hssf.util.HSSFColor$BLACK)

Импортированные банки (Apache POI):

poi-3.9-20121203 poi-3.7-20101029 commons-codec-1.7

...