我尝试在我的excel文件中输入密码
def excel_file
test = Axlsx::Package.new do |p|
p.workbook.add_worksheet(:name => "Pie Chart") do |sheet|
sheet.add_row ["Simple Pie Chart"]
%w(first second third).each { |label| sheet.add_row [label, rand(24)+1] }
sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,5], :end_at => [10, 20], :title => "example 3: Pie Chart") do |chart|
chart.add_series :data => sheet["B2:B4"], :labels => sheet["A2:A4"], :colors => ['FF0000', '00FF00', '0000FF']
end
end
p.serialize('simple.xlsx')
end
IO.popen("secure-spreadsheet --password secret", "r+") do |io|
io.write(test)
io.close_write
io.read
end
end
在上面的代码中,它将在我的项目文件中生成名为 simple.xlsx 的 excel 文件。然后我想使用安全电子表格输入密码。
代码的“IO.popen”部分是。我不确定我做的是正确的代码。目标是获取创建的 alxsx 文件,然后添加密码。
def download_excel
respond_to do |format|
format.xlsx { send_data excel_file, type: 'application/xlsx; header=present', disposition: "attachment", filename: "output.xlsx" }
end
end
上面的代码将在浏览器中下载。
这是问题的起源 rails http response to Donwload excel file
这是我正在使用的回购协议
https://github.com/randym/axlsx
https://github.com/ankane/secure-spreadsheet
我没有使用电子表格保护。我不需要那个,因为它只锁定电子表格。我需要的是整个excel文件的密码