最近在做毕业设计,用java写代码,碰到各种各样的问题,在网上搜寻了资料,非常感谢一些网友的帮助,我也把自己一些小成果拿出来晒晒,希望给其他朋友一点帮助!
public class ExportExcel {
public static void main(String[] args) throws Exception {
// 获取年、月、日、时、分等信息用来命名excel文件
Calendar ca = Calendar.getInstance();
int year = ca.get(Calendar.YEAR);// 获取年份
int month = ca.get(Calendar.MONTH);// 获取月份
int day = ca.get(Calendar.DATE);// 获取日
int hour = ca.get(Calendar.HOUR_OF_DAY);// 小时
int minute = ca.get(Calendar.MINUTE);// 分
new ExportExcel().saveXlsFile(year + "年" + month + "月" + day + "日"
+ hour + "时" + minute + "分" + "ConfigTable" + ".xls");
}
public void saveXlsFile(String filename) throws Exception{ //函数功能:创建一个excel文件,手工写入列名,再将SQL Server数据库的内容写入
WritableWorkbook wwb = Workbook.createWorkbook(new File(filename));
WritableSheet ws = wwb.createSheet("configtable", 0); // 以当前时间命名表名
Label column1 = null;
Label column2 = null;
Label column3 = null;
Label column4 = null;
Label name = null;
column1 = new Label(0, 0, "id");
ws.addCell(column1);
column2 = new Label(1, 0, "name");
ws.addCell(column2);
column3 = new Label(2, 0, "group");
ws.addCell(column3);
column4 = new Label(3, 0, "value");
ws.addCell(column4); //写入四个列名
SessionFactory sessionFactory = new Configuration().configure()
.buildSessionFactory();
Session session = sessionFactory.openSession(); //hibernate连接数据库,配置文件省略
Query query = session.createQuery("from Table");
List<?> list = query.list();
for (int i = 0; i < list.size(); i++) //查询整张表,存入list中,按顺序读取
{
Connect config = (Connect) list.get(i); //读取每一个表项,将所需要的值写入excel单元格中
jxl.write.Number id = new jxl.write.Number(0, i + 1,
config.getConfig_id());
ws.addCell(id); //写入一个int型用Number,写入一个string型的用Label,此代码中都有示范
name = new Label(1, i + 1, config.getConfig_name());
ws.addCell(name);
jxl.write.Number group = new jxl.write.Number(2, i + 1,
config.getConfig_group());
ws.addCell(group);
jxl.write.Number value = new jxl.write.Number(3, i + 1,
config.getConfig_value());
ws.addCell(value);
}
wwb.write();
wwb.close();
System.out.println("/**************************/");
System.out.println(" =======>表导入成功<=======");
System.out.println("/**************************/");
}
}