1. 程式人生 > >java導出excel不須要額外jar包

java導出excel不須要額外jar包

傳奇 .text ring alt pos sim catch rac get

眼下我知道的在java中導出Excel能夠用poi或在jsp的文件頭改變輸出流。

以下再介紹一種就用java基礎包導出的Excel。導出的格式形如:

技術分享

源代碼例如以下:

package csvExcel;

import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CsvAction {
	
	public static void main(String[] args) {
		new CsvAction().exportData2CSV();
	}

	private String fileName;

	public void exportData2CSV() {
		List<Novel> novels = getNovels();
		fileName = "D:/novels.csv";
		writeData2CSV(novels, fileName);
		System.out.println("D:/novels.csv下文件生成成功");
	}

	private void writeData2CSV(List<Novel> novels, String fileName2) {
		FileWriter fw = null;
		try {
			fw = new FileWriter(fileName);
			// 輸出標題頭
			// 註意列之間用","間隔,寫完一行須要回車換行"\r\n"
			String title = "序號,小說名稱,作者,出版日期\r\n";
			fw.write(title);

			String content = null;
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			for (int i = 0; i < novels.size(); i++) {
				Novel novel = novels.get(i);
				// 註意列之間用","間隔,寫完一行須要回車換行"\r\n"
				content = (i + 1) + "," + novel.getName() + ","
						+ novel.getAuthor() + ","
						+ sdf.format(novel.getPublishTime()) + "\r\n";
				fw.write(content);
			}
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		} finally {
			try {
				if (fw != null) {
					fw.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	private List<Novel> getNovels() {
		List<Novel> novels = new ArrayList<Novel>();

		Novel novel1 = new Novel("風雲第一刀", "古龍", new Date());
		Novel novel2 = new Novel("書劍恩仇錄", "金庸", new Date());
		Novel novel3 = new Novel("陸小鳳傳奇", "古龍", new Date());
		Novel novel4 = new Novel("鹿鼎記", "金庸", new Date());

		novels.add(novel1);
		novels.add(novel2);
		novels.add(novel3);
		novels.add(novel4);

		return novels;
	}

}
將源代碼復制後能夠直接執行。

java導出excel不須要額外jar包