-1

我需要一些有关如何将表单下载到 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。那么有没有人可以帮助我解决这个问题?我一直在研究它,没有任何结果。

非常感谢你们:)

4

1 回答 1

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>
于 2012-12-06T13:04:28.677 回答