我需要一些关于如何将表单下载到CSV文件的帮助或指南。我在这里要做的是:
<form>
<select name="mydropdown">
<option value="Chicken">Fresh Milk</option>
<option value="Apple">Old Cheese</option>
<option value="Bread">Hot Bread</option>
</select>
</form>
<input type=button>
GSP应该是这样的,当下载csv文件时,我不确定控制器需要什么,结果应该是正在选择的选项中的一个值,并将其显示为文件中的文字。顺便说一句,我正在使用grails。那么有没有人可以帮我这个?我一直在研究它,但没有任何结果。
非常感谢你们:)
答案 0 :(得分:1)
您可以使用OpenCSV来完成工作。
定义依赖关系
dependencies {
...
compile('net.sf.opencsv:opencsv:2.0')
...
}
创建操作
def export() {
ByteArrayOutputStream output = new ByteArrayOutputStream()
char separator = ';'
CSVWriter writer = new CSVWriter(new OutputStreamWriter(output), separator);
def line = [params.mydropdown]
writer.writeNext(line as String[])
//use writeNext as many times as needed
writer.close()
byte[] bytes = output.toByteArray()
//needed to force download
response.setContentType("text/csv")
response.setContentLength(bytes.length)
response.setHeader("Content-Disposition", "attachment; filename=mycsv.csv")
response.outputStream << bytes
}
更改您的表单以转到
<g:form action="export">
...
</g:form>