导出文件csv、文件excel时,无法正确显示日文字符。这是我的代码:
public ResponseEntity<byte[]> searchStudentExportCsv(Page<SearchStudentRes> studentClasses) {
HttpHeaders respHeader = new HttpHeaders();
respHeader.set("Content-disposition", "attachment; filename=students.csv");
StringWriter output = new StringWriter();
String[] csvHeaders = {
InternationalizationMessage.getString("csvfieldname.className"),
InternationalizationMessage.getString("csvfieldname.startDate"),
InternationalizationMessage.getString("csvfieldname.endDate"),
InternationalizationMessage.getString("csvfieldname.startTime"),
InternationalizationMessage.getString("csvfieldname.endTime"),
InternationalizationMessage.getString("csvfieldname.grade"),
InternationalizationMessage.getString("csvfieldname.place"),
InternationalizationMessage.getString("csvfieldname.studentName")
};
try {
CSVPrinter printer = new CSVPrinter(output, CSVFormat.DEFAULT.withHeader(csvHeaders));
studentClasses.forEach(
searchStudentRes -> {
try {
printer.printRecord(
searchStudentRes.getClassName(),
searchStudentRes.getStartDate(),
searchStudentRes.getEndDate(),
searchStudentRes.getStartTime(),
searchStudentRes.getEndTime(),
searchStudentRes.getGrade(),
searchStudentRes.getPlace(),
searchStudentRes.getStudentName()
} catch (IOException e) {
log.error(e.getMessage(), e);
}
});
} catch (IOException e) {
log.error(e.getMessage(), e);
}
return new ResponseEntity(
output.toString().getBytes(Charset.forName("UTF-8")), respHeader, HttpStatus.OK);
}
这是我的控制器
@PostMapping(value=“/exportCsv”,products=“application/octet stream”)公共响应标题searchStudentExportCsv(@Valid@RequestBody SearchStudentReq req){返回studentService.searchStudentExportCsv(req);}
请帮帮我,谢谢!
public void exportCsv2(HttpServletResponse response) throws IOException {
List<Person> list = new ArrayList<>();
Person person1 = new Person(1, "チャウ クエ ギー", 23);
Person person2 = new Person(2, "グエン イエン タイン", 24);
Person person3 = new Person(3, "ファン ティ タイン トウイ", 25);
Person person4 = new Person(4, "ホアン ガー れ テイ トゥ ウエン", 26);
list.add(person1);
list.add(person2);
list.add(person3);
list.add(person4);
String[] headers = {"ID", "Name", "Age"};
response.setContentType("application/vnd.ms-excel:UTF-8"); // or you can use text/csv
response.setHeader("Content-Disposition", "attachment; filename=listPerson.csv");
OutputStream outputStream= response.getOutputStream();
outputStream.write(0xEF);
outputStream.write(0xBB);
outputStream.write(0xBF);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
CSVPrinter csvPrinter = new CSVPrinter(writer, CSVFormat.DEFAULT.withHeader(headers));
list.forEach(person -> {
try {
csvPrinter.printRecord(person.getId(),person.getName(),person.getAge());
} catch (IOException e) {
System.err.println(e.getMessage());
}
});
csvPrinter.close();
}
我有一个JProfiler快照文件(.jps),它是使用脱机分析创建的。 当我试图使用JPexport脚本导出它时,出现以下错误: /opt/jprofiler9/bin$jpexport ~/test。jps热点~/热点。html加载/home/pavan/test。jps JProfiler尚未初始化。请先运行JProfiler可执行文件 请任何人详细说明这意味着什么,以及需要做什么才能成功地
问题内容: 我正在尝试将大量插入表: 并得到此错误: 我也尝试使用sql导入和导出向导来导入文件。它以逗号分隔,并且出现以下错误: 我知道我的领域绝对足够大。这是表的create语句: 我肯定知道没有超过80个字符的列。我也尝试将其更改为500个字符,但仍然遇到相同的错误。 我究竟做错了什么? 为什么不能导入此文件? 这是以下行之一的示例:“ 139236748349”,“ 1”,“”,“,”,“
如果路径下有相同命名的文件,新文件会覆盖老文件 $config = [ 'path' => '/home/viest' // xlsx文件保存路径 ]; $excel = new \Vtiful\Kernel\Excel($config); // fileName 会自动创建一个工作表,你可以自定义该工作表名称,工作表名称为可选参数 $filePath = $excel->fileN
问题内容: 两个问题 1)将Java项目导出为JAR文件时,应用程序如何知道包中的哪个类首先运行?我的applicatino特别要求userInterface.java文件在CommonDenom.java文件之前运行。 2)运行Java文件时,出现错误消息“无法启动Java JAR文件“ commonDenom.jar”。请在控制台中查看可能的消息。” 我从哪里开始弄清楚这一点?我检查了控制台,
问题内容: 我有时间表的数据库表,其中包含一些常见的字段。 还有更多,但这就是要点。 我已经在该表上导出了一个导出到CSV文件的导出文件,以向用户提供其数据的备份。它也用作带有某些自定义报告的宏Excel文件的数据导入。 这一切都与我合作,通过php遍历时间表并将行打印到文件中。 问题在于大型数据库可能需要花费数小时才能运行,这是无法接受的。所以我用MySQL 命令重写了它,并将它减少到几秒钟即可
在我的项目中已经安装了opencv,但是导入的C++文件出现了错误 null