java excel控制
2007-08-17 08:28
260 查看
import java.io.File;
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class CreateXLS {
public static void main(String args[]) {
// 打开文件
WorkbookSettings ws = new WorkbookSettings();
WritableWorkbook book;
String name = "commodity.xls";
try {
book = Workbook.createWorkbook(new File("c:/" + name));
// 生成名为"商品信息"的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("商品信息", 0);
sheet.addCell(new jxl.write.Label(0, 0, "商品ID"));
sheet.addCell(new jxl.write.Label(1, 0, "供货商ID"));
sheet.addCell(new jxl.write.Label(2, 0, "品牌"));
sheet.addCell(new jxl.write.Label(3, 0, "机型"));
sheet.addCell(new jxl.write.Label(4, 0, "终端类型"));
sheet.addCell(new jxl.write.Label(5, 0, "配置"));
sheet.addCell(new jxl.write.Label(0, 2, "888"));
sheet.addCell(new jxl.write.Label(1, 2, "666"));
sheet.addCell(new jxl.write.Label(2, 2, "三星"));
sheet.addCell(new jxl.write.Label(3, 2, "A108"));
sheet.addCell(new jxl.write.Label(4, 2, "CDMA"));
sheet.addCell(new jxl.write.Label(5, 2, "双电双充"));
sheet.addCell(new jxl.write.Label(0, 3, "999"));
sheet.addCell(new jxl.write.Label(1, 3, "666"));
sheet.addCell(new jxl.write.Label(2, 3, "摩托罗拉"));
sheet.addCell(new jxl.write.Label(3, 3, "V888"));
sheet.addCell(new jxl.write.Label(4, 3, "GSM"));
sheet.addCell(new jxl.write.Label(5, 3, "双电双充"));
// 写入数据并关闭文件
book.write();
book.close();
System.out.println("文件已创建");
} catch (Exception e) {
System.out.println(e);
}
}
}
//设置excel字体大小
WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES,18, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE);
WritableCellFormat wcf = new jxl.write.WritableCellFormat(wf);
WritableFont wf1 = new jxl.write.WritableFont(WritableFont.TIMES,12, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE);
WritableCellFormat wcf1 = new jxl.write.WritableCellFormat(wf1);
实例:
//判断是否有d:/excel子目录 如果有则跳过 没有自动创建一个(excel报表)文件夹
File diraaa = new File("d:/excel报表");
if(!diraaa.exists()){
diraaa.mkdirs();
//diraaa.createNewFile();
}
//判断获取的日期是否为空 如果为空则获取当天日期查询报表 如果获取了要查询日期 则对获取日期查询报表 date2为获取的日期
String a="";
if(date2==null||a.equals(date2))
{
Date date = new Date();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");//将字符串转化为日期类型。
String date1 = fmt.format(Long.valueOf(date.getTime()));
String name = "维修汇总台次表("+date1+").xls";
//判断当日查询报表是否存在 如果已经存在 则删除之 既而重新生成一个新的当日excel文件 如果不存在则生成新当日excel
File dir = new File("d:/excel报表/"+name);
if(dir.exists()){
dir.delete();
}
book = Workbook.createWorkbook(new File("d:/excel报表/"+name));
}
else{
//判断查询日期报表是否存在 如果已经存在 则删除之 既而重新生成一个新的excel文件 如果不存在则生成查询日期excel
String name = "维修汇总台次表("+date2+").xls";
File dir = new File("d:/excel报表/"+name);
//int i=1;
if(dir.exists()){
dir.delete();
}
book = Workbook.createWorkbook(new File("d:/excel报表/"+name));
}
try {
//创建一个新的sheet工作区
WritableSheet sheet = book.createSheet("维修情况汇总表", 0);
//FontName fontName = WritableFont.createFont("宋体");
//设置excel字体大小
WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES,18, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE);
WritableCellFormat wcf = new jxl.write.WritableCellFormat(wf);
WritableFont wf1 = new jxl.write.WritableFont(WritableFont.TIMES,12, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE);
WritableCellFormat wcf1 = new jxl.write.WritableCellFormat(wf1);
//Label lbl = new Label(0,0,"宋体显示",wcf);
//sheet.mergeCells(0, 1, 1, 1);
//判断date2为空否 为空则是获取当天日期
if(date2==null||a.equals(date2)){
Date date = new Date();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");//将字符串转化为时间类型。
String date1 = fmt.format(Long.valueOf(date.getTime()));
sheet.addCell(new jxl.write.Label(3, 0, "维修情况汇总表/台次("+date1+")" ,wcf));
}else
sheet.addCell(new jxl.write.Label(3, 0, "维修情况汇总表/台次("+date2+")" ,wcf));
//excel中添加数据
sheet.addCell(new jxl.write.Label(0, 1, "车辆型号" ,wcf1));
sheet.addCell(new jxl.write.Label(1, 1, "首保" ,wcf1));
sheet.addCell(new jxl.write.Label(2, 1, "索赔" ,wcf1));
sheet.addCell(new jxl.write.Label(3, 1, "保养" ,wcf1));
sheet.addCell(new jxl.write.Label(4, 1, "小修" ,wcf1));
sheet.addCell(new jxl.write.Label(5, 1, "大修" ,wcf1));
sheet.addCell(new jxl.write.Label(6, 1, "事故" ,wcf1));
sheet.addCell(new jxl.write.Label(7, 1, "返工" ,wcf1));
sheet.addCell(new jxl.write.Label(8, 1, "PDI" ,wcf1));
sheet.addCell(new jxl.write.Label(9, 1, "内修" ,wcf1));
sheet.addCell(new jxl.write.Label(10, 1, "车型汇总" ,wcf1));
//循环获取维修台次报表信息
for(int i=0;i<list.size();i++)
{
mf = (MaintainForm)list.get(i);
//sheet.mergeCells(0, i+2, 1, i+2);
sheet.addCell(new jxl.write.Label(0, i+2, mf.getCartype() ,wcf1));
sheet.addCell(new jxl.write.Label(1, i+2, mf.getShoubao() ,wcf1));
sheet.addCell(new jxl.write.Label(2, i+2, mf.getSuopei() ,wcf1));
sheet.addCell(new jxl.write.Label(3, i+2, mf.getBaoyang() ,wcf1));
sheet.addCell(new jxl.write.Label(4, i+2, mf.getXiaoxiu() ,wcf1));
sheet.addCell(new jxl.write.Label(5, i+2, mf.getDaxiu() ,wcf1));
sheet.addCell(new jxl.write.Label(6, i+2, mf.getShigu() ,wcf1));
sheet.addCell(new jxl.write.Label(7, i+2, mf.getFangong() ,wcf1));
sheet.addCell(new jxl.write.Label(8, i+2, mf.getPdi() ,wcf1));
sheet.addCell(new jxl.write.Label(9, i+2, mf.getNeixiu() ,wcf1));
sheet.addCell(new jxl.write.Label(10, i+2, mf.getChexinghuizong() ,wcf1));
}
book.write();
book.close();//关闭工作区
System.out.println("文件已创建");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//判断date2是空否 空的话运行文件夹中当天日期标志的.xls文件 否则运行获取date2日期标志的.xls文件
if(date2==null||a.equals(date2))
{
Date date = new Date();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");//将字符串转化为时间类型。
String date1 = fmt.format(Long.valueOf(date.getTime()));
String name = "维修汇总台次表("+date1+").xls";
//运行打开相应.xls文件
Runtime.getRuntime().exec("cmd /c start "+"d:/excel报表/"+name);
}else{
String name = "维修汇总台次表("+date2+").xls";
Runtime.getRuntime().exec("cmd /c start "+"d:/excel报表/"+name);
}
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class CreateXLS {
public static void main(String args[]) {
// 打开文件
WorkbookSettings ws = new WorkbookSettings();
WritableWorkbook book;
String name = "commodity.xls";
try {
book = Workbook.createWorkbook(new File("c:/" + name));
// 生成名为"商品信息"的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("商品信息", 0);
sheet.addCell(new jxl.write.Label(0, 0, "商品ID"));
sheet.addCell(new jxl.write.Label(1, 0, "供货商ID"));
sheet.addCell(new jxl.write.Label(2, 0, "品牌"));
sheet.addCell(new jxl.write.Label(3, 0, "机型"));
sheet.addCell(new jxl.write.Label(4, 0, "终端类型"));
sheet.addCell(new jxl.write.Label(5, 0, "配置"));
sheet.addCell(new jxl.write.Label(0, 2, "888"));
sheet.addCell(new jxl.write.Label(1, 2, "666"));
sheet.addCell(new jxl.write.Label(2, 2, "三星"));
sheet.addCell(new jxl.write.Label(3, 2, "A108"));
sheet.addCell(new jxl.write.Label(4, 2, "CDMA"));
sheet.addCell(new jxl.write.Label(5, 2, "双电双充"));
sheet.addCell(new jxl.write.Label(0, 3, "999"));
sheet.addCell(new jxl.write.Label(1, 3, "666"));
sheet.addCell(new jxl.write.Label(2, 3, "摩托罗拉"));
sheet.addCell(new jxl.write.Label(3, 3, "V888"));
sheet.addCell(new jxl.write.Label(4, 3, "GSM"));
sheet.addCell(new jxl.write.Label(5, 3, "双电双充"));
// 写入数据并关闭文件
book.write();
book.close();
System.out.println("文件已创建");
} catch (Exception e) {
System.out.println(e);
}
}
}
//设置excel字体大小
WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES,18, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE);
WritableCellFormat wcf = new jxl.write.WritableCellFormat(wf);
WritableFont wf1 = new jxl.write.WritableFont(WritableFont.TIMES,12, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE);
WritableCellFormat wcf1 = new jxl.write.WritableCellFormat(wf1);
实例:
//判断是否有d:/excel子目录 如果有则跳过 没有自动创建一个(excel报表)文件夹
File diraaa = new File("d:/excel报表");
if(!diraaa.exists()){
diraaa.mkdirs();
//diraaa.createNewFile();
}
//判断获取的日期是否为空 如果为空则获取当天日期查询报表 如果获取了要查询日期 则对获取日期查询报表 date2为获取的日期
String a="";
if(date2==null||a.equals(date2))
{
Date date = new Date();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");//将字符串转化为日期类型。
String date1 = fmt.format(Long.valueOf(date.getTime()));
String name = "维修汇总台次表("+date1+").xls";
//判断当日查询报表是否存在 如果已经存在 则删除之 既而重新生成一个新的当日excel文件 如果不存在则生成新当日excel
File dir = new File("d:/excel报表/"+name);
if(dir.exists()){
dir.delete();
}
book = Workbook.createWorkbook(new File("d:/excel报表/"+name));
}
else{
//判断查询日期报表是否存在 如果已经存在 则删除之 既而重新生成一个新的excel文件 如果不存在则生成查询日期excel
String name = "维修汇总台次表("+date2+").xls";
File dir = new File("d:/excel报表/"+name);
//int i=1;
if(dir.exists()){
dir.delete();
}
book = Workbook.createWorkbook(new File("d:/excel报表/"+name));
}
try {
//创建一个新的sheet工作区
WritableSheet sheet = book.createSheet("维修情况汇总表", 0);
//FontName fontName = WritableFont.createFont("宋体");
//设置excel字体大小
WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES,18, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE);
WritableCellFormat wcf = new jxl.write.WritableCellFormat(wf);
WritableFont wf1 = new jxl.write.WritableFont(WritableFont.TIMES,12, WritableFont.NO_BOLD, false,UnderlineStyle.NO_UNDERLINE);
WritableCellFormat wcf1 = new jxl.write.WritableCellFormat(wf1);
//Label lbl = new Label(0,0,"宋体显示",wcf);
//sheet.mergeCells(0, 1, 1, 1);
//判断date2为空否 为空则是获取当天日期
if(date2==null||a.equals(date2)){
Date date = new Date();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");//将字符串转化为时间类型。
String date1 = fmt.format(Long.valueOf(date.getTime()));
sheet.addCell(new jxl.write.Label(3, 0, "维修情况汇总表/台次("+date1+")" ,wcf));
}else
sheet.addCell(new jxl.write.Label(3, 0, "维修情况汇总表/台次("+date2+")" ,wcf));
//excel中添加数据
sheet.addCell(new jxl.write.Label(0, 1, "车辆型号" ,wcf1));
sheet.addCell(new jxl.write.Label(1, 1, "首保" ,wcf1));
sheet.addCell(new jxl.write.Label(2, 1, "索赔" ,wcf1));
sheet.addCell(new jxl.write.Label(3, 1, "保养" ,wcf1));
sheet.addCell(new jxl.write.Label(4, 1, "小修" ,wcf1));
sheet.addCell(new jxl.write.Label(5, 1, "大修" ,wcf1));
sheet.addCell(new jxl.write.Label(6, 1, "事故" ,wcf1));
sheet.addCell(new jxl.write.Label(7, 1, "返工" ,wcf1));
sheet.addCell(new jxl.write.Label(8, 1, "PDI" ,wcf1));
sheet.addCell(new jxl.write.Label(9, 1, "内修" ,wcf1));
sheet.addCell(new jxl.write.Label(10, 1, "车型汇总" ,wcf1));
//循环获取维修台次报表信息
for(int i=0;i<list.size();i++)
{
mf = (MaintainForm)list.get(i);
//sheet.mergeCells(0, i+2, 1, i+2);
sheet.addCell(new jxl.write.Label(0, i+2, mf.getCartype() ,wcf1));
sheet.addCell(new jxl.write.Label(1, i+2, mf.getShoubao() ,wcf1));
sheet.addCell(new jxl.write.Label(2, i+2, mf.getSuopei() ,wcf1));
sheet.addCell(new jxl.write.Label(3, i+2, mf.getBaoyang() ,wcf1));
sheet.addCell(new jxl.write.Label(4, i+2, mf.getXiaoxiu() ,wcf1));
sheet.addCell(new jxl.write.Label(5, i+2, mf.getDaxiu() ,wcf1));
sheet.addCell(new jxl.write.Label(6, i+2, mf.getShigu() ,wcf1));
sheet.addCell(new jxl.write.Label(7, i+2, mf.getFangong() ,wcf1));
sheet.addCell(new jxl.write.Label(8, i+2, mf.getPdi() ,wcf1));
sheet.addCell(new jxl.write.Label(9, i+2, mf.getNeixiu() ,wcf1));
sheet.addCell(new jxl.write.Label(10, i+2, mf.getChexinghuizong() ,wcf1));
}
book.write();
book.close();//关闭工作区
System.out.println("文件已创建");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//判断date2是空否 空的话运行文件夹中当天日期标志的.xls文件 否则运行获取date2日期标志的.xls文件
if(date2==null||a.equals(date2))
{
Date date = new Date();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");//将字符串转化为时间类型。
String date1 = fmt.format(Long.valueOf(date.getTime()));
String name = "维修汇总台次表("+date1+").xls";
//运行打开相应.xls文件
Runtime.getRuntime().exec("cmd /c start "+"d:/excel报表/"+name);
}else{
String name = "维修汇总台次表("+date2+").xls";
Runtime.getRuntime().exec("cmd /c start "+"d:/excel报表/"+name);
}
相关文章推荐
- JAVA控制EXCEL的方法之一
- java控制excel
- 告诉你用java来控制Word, Excel, PDF文档
- JAVA控制EXCEL的方法
- 利用Java控制EXCEL实例详解
- 利用Java控制EXCEL实例详解
- JAVA控制EXCEL的方法
- 我说一下JAVA控制EXCEL的方法之一
- 如何利用 JAVA 来控制 EXCEL
- java 使用poi导出excel,可控制固定前2列固定标头排版,带统计数据格式的
- java 导出excel到客户端(本地)例子 用poi和servlet实现的
- oracle PL/SQL调用Java生成Excel
- (三)Java程序设计之控制语句
- java并发流程控制(CountDownLatch-CycliBarrier)
- java-访问控制修饰符
- Java实现Excel操作的方式
- JAVA笔记6-继承和权限控制
- java基础——判断与循环控制语句
- java把excel内容上传到mysql实例代码
- Java控制鼠标和键盘的方法