假設D:/test.txt文件中保存的是json格式的數據,解析後使用poi寫入到excel文件中
package vo;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Spider {
public static void main(String[] args) {
spider();
}
public static void spider() {
StringBuilder sb = new StringBuilder();
try {
FileReader in = new FileReader(new File("D:/test.txt"));
BufferedReader inBR = new BufferedReader(in);
String stext = null;
while ((stext = inBR.readLine()) != null) {
sb.append(stext);
}
inBR.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
String uploadFile = "D:/test.xlsx";
OutputStream fos = new FileOutputStream(uploadFile);
XSSFWorkbook workBook = new XSSFWorkbook();
XSSFSheet sheet = workBook.createSheet();
XSSFRow row = null;
XSSFCell cell = null;
row = sheet.createRow(0);
String[] names = {"序號", "活動名稱", "活動地點", "活動時間", "鏈接"};
for (int index = 0; index < 5; index++) {
cell = row.createCell(index);
cell.setCellValue(names[index]);
}
int count = 1;
JSONObject obj = JSONObject.fromObject(sb.toString());
JSONArray jsonArray = obj.getJSONObject("Data").getJSONArray("List");
for (Object object : jsonArray) {
JSONObject item = (JSONObject) object;
String link = "http://www.test.com/" + item.getString("Id");
String Name = item.getString("Name");
String Addr = item.getString("Addr");
String StartDate = item.getString("StartDate");
row = sheet.createRow(count);
cell = row.createCell(0);
cell.setCellValue(count);
cell = row.createCell(1);
cell.setCellValue(Name);
cell = row.createCell(2);
cell.setCellValue(Addr);
cell = row.createCell(3);
cell.setCellValue(StartDate);
cell = row.createCell(4);
cell.setCellValue(link);
count++;
}
workBook.write(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}
本文內容到此結束。