Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 导出文件头行有额外的行_Java_Io_Ods_Jopendocument - Fatal编程技术网

Java 导出文件头行有额外的行

Java 导出文件头行有额外的行,java,io,ods,jopendocument,Java,Io,Ods,Jopendocument,我想像这样导出odsfile 但我真的得到了出口是这个(头行有额外的字) 这是我的代码,谢谢你的建议 @RequestMapping(value = "/export", method = RequestMethod.POST) public @ResponseBody void exportOds(Long questionId, HttpServletRequest request, HttpServletResponse response) throws

我想像这样导出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();
    }
}
按此代码解决

@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();
    }
}
@RequestMapping(value=“/export”,method=RequestMethod.POST)
public@ResponseBody void exportOds(长问题ID,
HttpServletRequest请求,HttpServletResponse响应)
抛出异常{
VoteQuestion q=voteManager.getQuestion(问题ID);
String[]columName=新字符串[1000];
ColumnName[0]=q.getQuestion();

对于(inti=1;i),您的问题是什么?在第二张图片中,有额外的第一行