package com.cn.test;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class Test {
//模拟接口访问数据库返回的json数据
private final static String RESULT = "[{\"id\": 1,\"duration\": 0.35,\"longcost\": 0.8},{\"id\": 1,\"duration\": 0.4,\"longcost\": 0.9}]";
public static void main(String[] args) {
ArrayList<ArrayList<String>> data = new ArrayList<ArrayList<String>>();
getHeadsList(data);
getContentsList(data);
arrayToXSL(data);
}
public static ArrayList<ArrayList<String>> getHeadsList(ArrayList<ArrayList<String>> list){
ArrayList<String> heads = new ArrayList<String>();
heads.add("duration");
heads.add("id");
heads.add("longcost");
list.add(heads);
return list;
}
public static ArrayList<ArrayList<String>> getContentsList(ArrayList<ArrayList<String>> list){
Gson gson = new Gson();
ArrayList<Map<String,String>> data = gson.fromJson(RESULT, new TypeToken<ArrayList<Map<String,String>>>(){}.getType());
for(int i = 0; i < data.size();i++) {
Map<String,String> map = data.get(i);
ArrayList<String> result = new ArrayList<String>();
for(Entry<String,String> entry : map.entrySet()) {
result.add(entry.getValue());
}
list.add(result);
}
return list;
}
public static File arrayToXSL(ArrayList<ArrayList<String>> arrayList) {
String path = "C:\\Users\\12\\Desktop\\test.xls";
FileOutputStream file = null;
try {
file = new FileOutputStream(path);
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
HSSFRow row;
System.out.println("arrayList : " + arrayList.size());
for (int i = 0; i < arrayList.size(); i++) {
row = sheet.createRow(i);
for (int j = 0; j < arrayList.get(i).size(); j++) {
HSSFCell cell = row.createCell(j);
if (null == arrayList.get(i).get(j)) {
cell.setCellValue("");
} else {
cell.setCellValue(arrayList.get(i).get(j));
}
}
}
workbook.write(file);
} catch (Exception e) {
e.getMessage();
} finally {
try {
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return new File(path);
}
}
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class Test {
//模拟接口访问数据库返回的json数据
private final static String RESULT = "[{\"id\": 1,\"duration\": 0.35,\"longcost\": 0.8},{\"id\": 1,\"duration\": 0.4,\"longcost\": 0.9}]";
public static void main(String[] args) {
ArrayList<ArrayList<String>> data = new ArrayList<ArrayList<String>>();
getHeadsList(data);
getContentsList(data);
arrayToXSL(data);
}
public static ArrayList<ArrayList<String>> getHeadsList(ArrayList<ArrayList<String>> list){
ArrayList<String> heads = new ArrayList<String>();
heads.add("duration");
heads.add("id");
heads.add("longcost");
list.add(heads);
return list;
}
public static ArrayList<ArrayList<String>> getContentsList(ArrayList<ArrayList<String>> list){
Gson gson = new Gson();
ArrayList<Map<String,String>> data = gson.fromJson(RESULT, new TypeToken<ArrayList<Map<String,String>>>(){}.getType());
for(int i = 0; i < data.size();i++) {
Map<String,String> map = data.get(i);
ArrayList<String> result = new ArrayList<String>();
for(Entry<String,String> entry : map.entrySet()) {
result.add(entry.getValue());
}
list.add(result);
}
return list;
}
public static File arrayToXSL(ArrayList<ArrayList<String>> arrayList) {
String path = "C:\\Users\\12\\Desktop\\test.xls";
FileOutputStream file = null;
try {
file = new FileOutputStream(path);
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet();
HSSFRow row;
System.out.println("arrayList : " + arrayList.size());
for (int i = 0; i < arrayList.size(); i++) {
row = sheet.createRow(i);
for (int j = 0; j < arrayList.get(i).size(); j++) {
HSSFCell cell = row.createCell(j);
if (null == arrayList.get(i).get(j)) {
cell.setCellValue("");
} else {
cell.setCellValue(arrayList.get(i).get(j));
}
}
}
workbook.write(file);
} catch (Exception e) {
e.getMessage();
} finally {
try {
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return new File(path);
}
}
487

被折叠的 条评论
为什么被折叠?



