-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 ファイルがダウンロードされているとき、コントローラが何を必要としているかわかりません。結果は、選択されているオプションの値の 1 つになり、テキストとして表示されます。ファイル。ちなみに私は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 に答える