您的位置:首页 > 其它

csv文件导出数据缺失问题

2018-03-22 11:19 423 查看
csv文件导出是以字符串的形式以“,”号默认分割的,如果你的导出数据中有int,long等数值类型,需要将其转化为String类型,如果不将其转化为String,数据可能会缺失

以下为参考代码:

public void archiveMutiLuaLogCSV(ServletOutputStream outputStream, Application app, int errorID, int errorType,
DateRange range, AppVersion appVer) {
OutputStreamWriter out = new OutputStreamWriter(outputStream,utf8);
try {

Calendar startDate = genStartDate(range);
Calendar stopDate = genStopDate(range);
long startTime = stopDate.getTimeInMillis();
int random = 0;
int size = 1024;

List<LuaErrorLog> luaErrorLogs = analyClient.queryLuaLog(app, errorID, errorType, startTime, random, size, appVer);

String[] titles=new String[]{"发生时间","应用版本","设备型号","操作系统","用户名","文件名","代码行号"};
//首行为标题行
for(String title : titles){
out.write(title);
out.write(",");
}
//写完文件头后换行
out.write("\r\n");
for (LuaErrorLog luaErrorLog : luaErrorLogs) {

try {
out.write(df.get().format(luaErrorLog.getTimestamp()).toString());
out.write(",");
out.write(luaErrorLog.getAppVersion());
out.write(",");
out.write(luaErrorLog.getModel());
out.write(",");
out.write(luaErrorLog.getOs());
out.write(",");
out.write(luaErrorLog.getUserID());
out.write(",");
out.write(luaErrorLog.getFileName());
out.write(",");
**//为了防止数据缺失需要将int类型转化为String**
out.write(String.valueOf(luaErrorLog.getCodeLine()));
out.write("\r\n");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
try {
out.flush();
out.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: