Java 导出文件头行有额外的行
我想像这样导出odsfile 但我真的得到了出口是这个(头行有额外的字) 这是我的代码,谢谢你的建议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
@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),您的问题是什么?在第二张图片中,有额外的第一行