眼下我知道的在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包的更多相关文章

  1. java导出excel表格

    java导出excel表格: 1.导入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifac ...

  2. java导出excel报表

    1.java导出excel报表: package cn.jcenterhome.util; import java.io.OutputStream;import java.util.List;impo ...

  3. java导出excel工具类

    java导出excel须要使用HSSFWorkbook这个类,须要导入poi-3.6-20091214.jar 工具类调用例如以下: package com.qlwb.business.util; i ...

  4. eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN

    eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...

  5. 用命令行编译java并生成可执行的jar包

    用命令行编译java并生成可执行的jar包 1.编写源代码. 编写源文件:CardLayoutDemo.java并保存,例如:I:\myApp\CardLayoutDemo.java.程序结构如下: ...

  6. java导出excel报错:getOutputStream() has already been called for this response

    对于java导出excel报错的问题,查了很多都说是在使用完输出流以后调用以下两行代码即可 out.clear(); out = pageContext.pushBody(); 但这也许是页面上输出时 ...

  7. Java导出Excel和CSV(简单Demo)

    Java导出Excel和CSV的简单实现,分别使用POI和JavaCSV. JavaBean public class ReportInfo { int id; String date; int nu ...

  8. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  9. java导出excel模板数据

    Java导出excel数据模板,这里直接贴代码开发,流程性的走下去就是步骤: String[] colName=new String[]{"期间","科目代码" ...

随机推荐

  1. Python之文件操作:经验总结

    1.怎么判断读出来的文件是gbk还是utf-8编码 if content == u'中国'.encode('gbk'):     return 'gbk' elif content == u'中国'. ...

  2. 洛谷P2168 荷马史诗

    哈夫曼树原理. k=2时,和合并果子一样一样的. 由此思考,k>2时,应该也有相似的原理.确实如此,k进制哈夫曼树,每个结点最多会有k-1个子结点,对应k-1个元素(“元素”可以是更深层的子树) ...

  3. 【Hihocoder1634】Puzzle Game(DP)

    题意:有一个n*m的矩阵,每个矩阵里有一个数字a[i][j].现在要求将其中一个格子的值改为p,使得修改后矩阵的最大子矩阵和最小,求这个最小值 n,m<=150,abs(a[i][j])< ...

  4. HTML5 录音的踩坑之旅

    开篇闲扯 前一段时间的一个案子是开发一个有声课件,大致就是通过导入文档.图片等资源后,页面变为类似 PPT 的布局,然后选中一张图片,可以插入音频,有单页编辑和全局编辑两种模式.其中音频的导入方式有两 ...

  5. struts2 package 属性说明

    package节点是整个配置的核心部分.每个package,从语义上讲,其实代表了每一个独立的模块.在这个模块中,你可以定义隶属于这个模块的行为方式,而与其他的模块没有关系.所以,每个package都 ...

  6. 【MFC - 菜单】在对话框程序中添加菜单栏(CMenu)(转)

    原文转自 http://lishiqiang1988.blog.163.com/blog/static/41147912201382104631547/ VS2010的MFC对话框程序中添加菜单栏的过 ...

  7. 一个Android Socket的例子(转)

    1.开篇简介 Socket本质上就是Java封装了传输层上的TCP协议(注:UDP用的是DatagramSocket类).要实现Socket的传输,需要构建客户端和服务器端.另外,传输的数据可以是字符 ...

  8. Android下设置CPU核心数和频率

    现在的Android手机双核.四核变得非常普遍,同时CPU频率经常轻松上2G,功耗肯定会显著增加.而大多数的ARM架构的CPU采用的是对称多处理(SMP)的方式处理多CPU.这就意味着每个CPU核心是 ...

  9. hdu 4541(麻烦的模拟)

    Ten Googol Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Su ...

  10. 牛客网 牛客小白月赛2 E.是是非非-尼姆博奕

    E.是是非非 链接:https://www.nowcoder.com/acm/contest/86/E 这个题就是尼姆博奕(我的队友小可爱很擅长这个) 代码: 1 //E 2 #include< ...