Grails示例程序-导出Excel文档
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
程序只有一個(gè)頁(yè)面,點(diǎn)擊下載鏈接,下載Excel文檔,該文檔有兩個(gè)sheet,這兩個(gè)sheet和里面的內(nèi)容是使用JExcelApi生成的。
- 顯示下載頁(yè)面
增加一個(gè)下載頁(yè)面的controller和view
SampleExcelController .groovy
<!-- lang: groovy --> package com.tutorialclass SampleExcelController {def index() { } }index.gsp
<!-- lang: groovy --> <!DOCTYPE html> <html> <head><meta name="layout" content="main"/><title>Simple Chat</title> </head><body><g:link action="downloadSampleExcel">Download Sample Excel</g:link> </body> </html>- 引入JExcelApi庫(kù)文件
在config/BuildConfig.groovy中引入jexcelapi的包文件
<!-- lang: groovy --> dependencies {runtime 'net.sourceforge.jexcelapi:jxl:2.6.12' }- Excel文檔下載
下面的代碼用來(lái)生成Excel文檔并提供下載
<!-- lang: groovy --> package com.tutorialimport jxl.Workbook import jxl.write.Label import jxl.write.WritableSheet import jxl.write.WritableWorkbookclass SampleExcelController {def index() { }def downloadSampleExcel() {response.setContentType('application/vnd.ms-excel')response.setHeader('Content-Disposition', 'Attachment;Filename="example.xls"')WritableWorkbook workbook = Workbook.createWorkbook(response.outputStream)WritableSheet sheet1 = workbook.createSheet("Students", 0)sheet1.addCell(new Label(0,0, "First Name"))sheet1.addCell(new Label(1,0, "Last Name"))sheet1.addCell(new Label(2,0, "Age"))sheet1.addCell(new Label(0,1, "John"))sheet1.addCell(new Label(1,1, "Doe"))sheet1.addCell(new Label(2,1, "20"))sheet1.addCell(new Label(0,2, "Jane"))sheet1.addCell(new Label(1,2, "Smith"))sheet1.addCell(new Label(2,2, "18"))WritableSheet sheet2 = workbook.createSheet("Courses", 1)sheet2.addCell(new Label(0,0, "Course Name"))sheet2.addCell(new Label(1,0, "Number of units"))sheet2.addCell(new Label(0,1, "Algebra"))sheet2.addCell(new Label(1,1, "3"))sheet2.addCell(new Label(0,2, "English Grammar"))sheet2.addCell(new Label(1,2, "5"))workbook.write();workbook.close();} }- 知識(shí)點(diǎn)
1.下面的代碼告訴瀏覽器,需要下載的文檔類型以及文件名
<!-- lang: groovy --> response.setContentType('application/vnd.ms-excel') response.setHeader('Content-Disposition', 'Attachment;Filename="example.xls"')2.WritableWorkbook用來(lái)創(chuàng)建一個(gè)Excel文檔實(shí)例,通過(guò)response.outputStream響應(yīng)告訴我們,這個(gè)文檔不是保存到服務(wù)器端,而是直接發(fā)送給瀏覽器
3.WritableSheet的第二個(gè)參數(shù)是sheet的索引,0代表第一個(gè)
4.addCell中第一和第二個(gè)參數(shù)則是Excel表格中的坐標(biāo)值
- 備注
上面的代碼只是簡(jiǎn)單介紹不使用插件怎么生成Excel文檔,你可以根據(jù)自己的項(xiàng)目需要修改使用。這里是完整的代碼下載地址
轉(zhuǎn)載于:https://my.oschina.net/65304586/blog/193738
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Grails示例程序-导出Excel文档的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Cmake的install与file命令
- 下一篇: 编写更好的CSS代码