2

私はRubyにかなり慣れていないので、生成されたすべての列をExcelファイルのテキストにフォーマットしようとしています。私は以下のような機能を持っています

def writeXlsx(columnNames, templateName)
        @xlsx = Axlsx::Package.new              # create xlsx doc
        @xlsx.use_autowidth = true
        @xlsxSheet = @xlsx.workbook.add_worksheet(:name => templateName)
        @unlocked = @xlsx.workbook.styles.add_style(:locked => false)       
        @xlsxSheet.col_style(0,@unlocked)
        @xlsxSheet.add_row columnNames, :types => string


        @xlsx.serialize(File.join(@outputFolder, "#{templateName}.xlsx"))

    end

これは col_style undefined method と言ってエラーになります。私が間違っていることを教えてください。-エラ

4

1 に答える 1

1

Axlsx にはこのオプションがないようです。write_xlsx gem を使用してそれを行うことがわかりました。

def WriteXlsxNew(columnNames, templateName,outputFolder)
    require 'write_xlsx'
    # Create a new Excel workbook
    filename = File.join(outputFolder, "#{templateName}.xlsx")
    workbook = WriteXLSX.new(filename)

    # Add a worksheet
    worksheet = workbook.add_worksheet(templateName)

    #  Add and define a format
    format1 = workbook.add_format(:num_format => '@')
    worksheet.set_column('A:BA',nil,format1)
    worksheet.write_row(0,0,columnNames)        
    workbook.close

end
于 2015-06-18T09:23:22.607 に答える