2017-07-11 9 views
0

私はこのエクスポートファイルの先頭行は余分な行

ようodsfileエクスポートしたいが、私は本当に輸出を得たが、これはここに

(ヘッドラインは、余分な単語を持っている)であるました私のコードは、任意の提案ありがとう

@RequestMapping(value = "/export", method = RequestMethod.POST) 
public @ResponseBody void exportOds(Long questionId, 
     HttpServletRequest request, HttpServletResponse response) 
     throws Exception { 
    VoteQuestion q = voteManager.getQuestion(questionId); 

    TableModel model = new DefaultTableModel(1000,1000); 
    File file = File.createTempFile("temp", ".ods"); 

    model.setValueAt(q.getQuestion(), 0, 0); 
    int row = 2; 
    for (VoteOption opt : q.getOptions()) { 
     model.setValueAt(opt.getDescription(), row, 0); 
     model.setValueAt(opt.getVotes(), row++, 1); 
    } 
    SpreadSheet.createEmpty(model).saveAs(file); 

    String fileName = "投票結果"; 
    String encodeFileName = FilenameEncoder.getInstance(request) 
      .encodeFileName(fileName + ".ods"); 
    response.setHeader("Content-Disposition", 
      "attachment; filename=" + encodeFileName); 

    FileInputStream in = null; 
    OutputStream out = null; 
    try { 
     out = response.getOutputStream(); 
     in = new FileInputStream(file); 
     IOUtils.copy(in, out); 
    } finally { 
     IOUtils.closeQuietly(in); 
     IOUtils.closeQuietly(out); 
     file.deleteOnExit(); 
    } 
} 
+1

あなたの質問は何ですか?第2のピクチャの – QBrute

+0

は、追加の第1の行 – JACKY

答えて

0

このコードで解決しました

@RequestMapping(value = "/export", method = RequestMethod.POST) 
public @ResponseBody void exportOds(Long questionId, 
     HttpServletRequest request, HttpServletResponse response) 
     throws Exception { 
    VoteQuestion q = voteManager.getQuestion(questionId); 

    String[] columName = new String[1000]; 
    columName[0] = q.getQuestion(); 
    for(int i = 1 ;i<1000;i++){ 
     columName[i] = ""; 
    } 

    TableModel model = new DefaultTableModel(columName,1000); 
    File file = File.createTempFile("temp", ".ods"); 

    int row = 1; 
    for (VoteOption opt : q.getOptions()) { 
     model.setValueAt(opt.getDescription(), row, 0); 
     model.setValueAt(opt.getVotes(), row++, 1); 
    } 
    SpreadSheet.createEmpty(model).saveAs(file); 

    String fileName = "投票結果"; 
    String encodeFileName = FilenameEncoder.getInstance(request) 
      .encodeFileName(fileName + ".ods"); 
    response.setHeader("Content-Disposition", 
      "attachment; filename=" + encodeFileName); 

    FileInputStream in = null; 
    OutputStream out = null; 
    try { 
     out = response.getOutputStream(); 
     in = new FileInputStream(file); 
     IOUtils.copy(in, out); 
    } finally { 
     IOUtils.closeQuietly(in); 
     IOUtils.closeQuietly(out); 
     file.deleteOnExit(); 
    } 
}