대량 데이터 excel 파일 다운로드
// CSV
String[] title = new String[]{" "," "," "};
String csvData = Utils.createCSVData(parseDetailDescription(result) , title);
response.setContentType("text/plain");
response.addHeader("Content-Disposition", "attachment;filename=detailDescription.csv");
OutputStream out = response.getOutputStream();
OutputStreamWriter write = new OutputStreamWriter(out , "gb2312");
write.write(csvData);
write.flush();
return null;
/**
* @Description csv
* @param exportData
* @param title
* @return
*/
public static String createCSVData(List<String[]> exportData , String[] title){
if(exportData == null || exportData.size() == 0 || null == title || title.length == 0){
if(logger.isDebugEnabled()){
logger.debug(" csv ,exportData=" + exportData + ",title=" + title);
}
return null;
}
StringBuffer result = new StringBuffer();
for(int i = 0 ; i < title.length ; i++){
result.append(title[i]);
if(i == title.length - 1){
result.append("\r
");
} else {
result.append(",");
}
}
String[] data = null;
for(int i = 0 ; i < exportData.size() ; i++){
data = (String[])exportData.get(i);
if(null == data){
continue;
}
for(int j = 0 ; j < data.length ; j++){
result.append(data[j]);
if(j == title.length - 1){
result.append("\r
");
} else {
result.append(",");
}
}
}
return result.toString();
}
/**
* @Description
* @param description
* @return
*/
private List<String[]> parseDetailDescription(String description){
if(StringUtils.isBlank(description)){
return null;
}
int errorIndex = description.indexOf(" ");
if(errorIndex == -1){
return null;
}
int warnIndex = description.indexOf(" ");
int infoIndex = description.indexOf(" ");
String errorMsg = null;
String warnMsg = null;
String infoMsg = null;
if(warnIndex == -1){
if(infoIndex == -1){
errorMsg = description.substring(errorIndex + 3);
} else {
errorMsg = description.substring(errorIndex + 3 , infoIndex);
infoMsg = description.substring(infoIndex + 3);
}
} else {
errorMsg = description.substring(errorIndex + 3 , warnIndex);
if(infoIndex == -1){
warnMsg = description.substring(warnIndex + 3);
} else {
warnMsg = description.substring(warnIndex + 3 , infoIndex);
infoMsg = description.substring(infoIndex + 3);
}
}
String[] temp = null;
String[] msgArr = null;
String[] data = null;
List<String[]> result = new ArrayList<String[]>();
if(StringUtils.isNotBlank(errorMsg)){
msgArr = errorMsg.split(";");
for(int i = 0 ; i < msgArr.length ; i++){
if(StringUtils.isBlank(msgArr[i])){
continue;
}
data = new String[3];
data[0] = " ";
temp = msgArr[i].split(" ");
if(temp.length < 2){
data[1] = "";
data[2] = msgArr[i];
} else {
data[1] = temp[0];
data[2] = temp[1];
}
result.add(data);
}
}
if(StringUtils.isNotBlank(warnMsg)){
msgArr = warnMsg.split(";");
for(int i = 0 ; i < msgArr.length ; i++){
if(StringUtils.isBlank(msgArr[i])){
continue;
}
data = new String[3];
data[0] = " ";
temp = msgArr[i].split(" ");
if(temp.length < 2){
data[1] = "";
data[2] = msgArr[i];
} else {
data[1] = temp[0];
data[2] = temp[1];
}
result.add(data);
}
}
if(StringUtils.isNotBlank(infoMsg)){
msgArr = infoMsg.split(";");
for(int i = 0 ; i < msgArr.length ; i++){
if(StringUtils.isBlank(msgArr[i])){
continue;
}
data = new String[3];
data[0] = " ";
temp = msgArr[i].split(" ");
if(temp.length < 2){
data[1] = "";
data[2] = msgArr[i];
} else {
data[1] = temp[0];
data[2] = temp[1];
}
result.add(data);
}
}
return result;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.