package com.jtjk.util;
import java.beans.PropertyVetoException;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import jxl.Workbook;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import com.jtjk.entity.*;
import com.jtjk.dao.JwehjsDao;
/**
* 导出
* @author Administrator
* date 2011-10-21
*/
public class CreateExcelBySqlDB{
public static void main(String args[]) throws PropertyVetoException {
String rq = "20111019";
List list = JwehjsDao.JywhjsByRq(rq);
//Map map = (Map) list.get(0);
//map.size();
//map.keySet().iterator().next();
//System.out.println(jywhjs.getClass().getDeclaredFields().length);
createExcel2(list);
}
/**
* 该方法已经可以运行
* 传入的list中必须是map(key,value)
* @param list
*/
public static void createExcel2(List list){
try {
File file = new File("E:/测试3.xls");
// 打开文件
WritableWorkbook book = Workbook.createWorkbook(file);
// 生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("第一页", 0);
// 在label对象的构造子中指名单元格位置是第一列第一行(0,0)
// 以及单元格内容为test
Label label0 = new Label(0, 0, "2010年09月结算总额单", settitle(20));
sheet.addCell(label0);
boolean flag = true;
Map map = (Map) list.get(0);
Set<String> key = map.keySet();
int i = 0 ;
//标题值
for (Iterator it = key.iterator(); it.hasNext();) {
String s = (String) it.next();
System.out.println(map.get(s));
Label label = new Label(i,1,s,settitle(13));
if(flag){
sheet.mergeCells(0, 0, 3, 0);
flag = false;
}
map.keySet().iterator().next();
// 将定义好的单元格添加到工作表中
sheet.addCell(label);
i++;
}
int j = 0;
//数据值
for(int v = 0;v<list.size();v++){
Map map2 = (Map) list.get(v);
Set<String> key2 = map2.keySet();
Label label_val = null;
for (Iterator it = key2.iterator(); it.hasNext();) {
String s = (String) it.next();
System.out.println(map2.get(s));
label_val = new Label(j,v+2,map2.get(s).toString());
sheet.addCell(label_val);
sheet.setColumnView(0, 20,cellformat(j));
j++;
}
j = 0;
}
book.write();
book.close();
System.out.println("生成的文件路径:" + file.getCanonicalPath());
} catch (Exception e) {
System.out.println(e);
}
}
/**
* 说明:该方法还有一个地方不行
* 不能通过实体名称得到实体的值
*/
public static void createexcel(List list) {
try {
File file = new File("测试1.xls");
// 打开文件
WritableWorkbook book = Workbook.createWorkbook(file);
// 生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("第一页", 0);
// 在label对象的构造子中指名单元格位置是第一列第一行(0,0)
// 以及单元格内容为test
Label label0 = new Label(0, 0, "2010年09月结算总额单", settitle(20));
sheet.addCell(label0);
boolean flag = true;
JYWHJS_BQB jywhjs = (JYWHJS_BQB) list.get(0);
for(int i=0;i<jywhjs.getClass().getDeclaredFields().length;i++){
Label label = new Label(i,1,jywhjs.getClass().getDeclaredFields()[i].getName() ,settitle(13));
if(flag){
sheet.mergeCells(0, 0, 3, 0);
flag = false;
}
// 将定义好的单元格添加到工作表中
sheet.addCell(label);
}
for(int i=0;i<list.size();i++){
Label label_val = null;
for(int j=0;j<jywhjs.getClass().getDeclaredFields().length;j++){
String key = "";
key = "get"+jywhjs.getClass().getDeclaredFields()[j].getName();
label_val = new Label(j,i+2,jywhjs.getClass().getDeclaredFields()[j].getName());
sheet.addCell(label_val);
sheet.setColumnView(0, 20,cellformat(i));
}
}
/*
Label label1 = new Label(0, 1, "序号",settitle(13));
Label label2 = new Label(1, 1, "公司中文名",settitle(13));
Label label3 = new Label(2, 1, "开户帐号",settitle(13));
Label label4 = new Label(3, 1, "结算总额(元)",settitle(13));
// 将定义好的单元格添加到工作表中
sheet.addCell(label0);
//合并单元格
//从col1列到col2列 从row1行到row2行
//mergecells(int col1, int row1, int col2, int row2)
sheet.mergeCells(0, 0, 3, 0);
sheet.addCell(label1);
sheet.addCell(label2);
sheet.addCell(label3);
sheet.addCell(label4);
//循环将数据录入到excel中
for (int i = 0; i < list.size(); i++) {
DataPojo datapojo = list.get(i);
Label lab0 = new Label(0, i + 2, datapojo.getdataid());
Label lab1 = new Label(1, i + 2, datapojo.getcnname());
Label lab2 = new Label(2, i + 2, datapojo.getbankaccount());
Label lab3 = new Label(3, i + 2, datapojo.getsettlefee());
sheet.addCell(lab0);
sheet.addCell(lab1);
sheet.addCell(lab2);
sheet.addCell(lab3);
//sheet.setrowview(i + 2, 1000);//设置高度 一般都不用设置高度
//设置宽度 第一个参数是第几列 第二个参数是宽度
sheet.setColumnView(0, 20,cellformat(i));
sheet.setColumnView(1, 25,cellformat(i));
sheet.setColumnView(2, 20,cellformat(i));
sheet.setColumnView(3, 20,cellformat(i));
}*/
// 写入数据并关闭文件
book.write();
book.close();
System.out.println("生成的文件路径:" + file.getCanonicalPath());
// system.out.println(file.getabsolutepath());
} catch (Exception e) {
System.out.println(e);
}
}
/**
* 根据 插入数据错误的索引 查询改索引在原始位置的数据,插入新的execl中,填写错误信息
* @param index
*/
public static void createExeclByError(int index){
}
/**
* 设置背景色
*
* @param point
* @return
* @throws writeexception
*/
public static WritableCellFormat cellformat(int dataid) throws WriteException {
Colour color = null;
if (dataid%2==0) {
color = Colour.WHITE;
} else {
color = Colour.ROSE;
}
// 设置字体颜色
WritableFont font = new jxl.write.WritableFont(WritableFont.ARIAL, 10,
WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLACK);
WritableCellFormat cellformat = new jxl.write.WritableCellFormat(font);
// 设置单元格背景颜色
cellformat.setBackground(color);
cellformat.setBorder(Border.ALL, BorderLineStyle.THIN); // 增加边框
return cellformat;
}
public static WritableCellFormat settitle(int fontsize)throws WriteException {
Colour color =Colour.GRAY_25;
// 设置字体颜色
WritableFont font = new jxl.write.WritableFont(WritableFont.ARIAL, fontsize,
WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLACK);
WritableCellFormat cellformat = new jxl.write.WritableCellFormat(font);
// 设置单元格背景颜色
cellformat.setBackground(color);
// cellformat.setshrinktofit(true);
cellformat.setBorder(Border.ALL, BorderLineStyle.THIN); // 增加边框
return cellformat;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
java 导入导出Excel (动态的哦),还可以支持sql操作,如果sql不成功,还可以导出execl 哦,呵呵,欢迎下载啊 java 导入导出Excel (动态的哦),还可以支持sql操作,如果sql不成功,还可以导出execl 哦,呵呵,欢迎下载啊 java 导入导出Excel (动态的哦),还可以支持sql操作,如果sql不成功,还可以导出execl 哦,呵呵,欢迎下载啊
资源推荐
资源详情
资源评论
收起资源包目录
java 导入导出Excel (动态的哦),还可以支持sql操作,如果sql不成功,还可以导出execl 哦,呵呵,欢迎下载啊.rar (86个子文件)
ExcelPro
.settings
org.eclipse.core.resources.prefs 88B
src
com
jtjk
dao
JwehjsDao.java 5KB
action
CreateExcelAction.java 1KB
DownLoadAction.java 2KB
JywhjsTjAction.java 692B
entity
D_XZQH.java 448B
JYWHJS_BQB.java 6KB
DataPojo.java 824B
util
UpdateExcel.java 891B
CreateExcel.java 4KB
CreateExcelBySqlDB.java 8KB
Echo.java 815B
Data.java 1KB
ReadExcel.java 5KB
C3po.java 6KB
DBUtil.java 2KB
struts
ApplicationResources.properties 80B
struts.xml 1KB
.project 1KB
WebRoot
META-INF
MANIFEST.MF 39B
WEB-INF
struts-nested.tld 70KB
validator-rules.xml 13KB
struts-bean.tld 9KB
struts-html.tld 72KB
struts-logic.tld 14KB
struts-tiles.tld 8KB
web.xml 1KB
struts.xml 1KB
classes
com
jtjk
dao
JwehjsDao.class 5KB
action
JywhjsTjAction.class 1KB
DownLoadAction.class 2KB
CreateExcelAction.class 2KB
entity
DataPojo.class 1KB
JYWHJS_BQB.class 8KB
D_XZQH.class 844B
util
Data.class 2KB
DBUtil.class 3KB
Echo.class 1KB
CreateExcel.class 5KB
C3po.class 3KB
ReadExcel.class 6KB
UpdateExcel.class 1KB
CreateExcelBySqlDB.class 6KB
struts
ApplicationResources.properties 80B
struts.xml 1KB
struts-config.xml 412B
index.jsp 1KB
.mymetadata 297B
.classpath 3KB
.myeclipse
lib
log4j-1.2.14.jar 359KB
commons-collections-3.1.jar 546KB
commons-logging-1.0.4.jar 37KB
jxl-2.6.6.jar 704KB
dom4j-1.6.1.jar 307KB
commons-collections-3.2.1.jar 562KB
commons-beanutils.jar 160KB
jakarta-oro.jar 62KB
cglib-2.2.jar 272KB
commons-validator.jar 74KB
commons-fileupload.jar 19KB
ojdbc14.jar 1.47MB
json-lib-ext-spring-1.0.2-sources.jar 3KB
json-lib-2.2.2-jdk15-sources.jar 101KB
xwork-core-2.2.1.jar 997KB
json-lib-2.2.2-jdk15-javadoc.jar 236KB
commons-beanutils-core-1.7.0.jar 165KB
freemarker-2.3.16.jar 860KB
commons-logging.jar 33KB
commons-logging-1.1.jar 52KB
commons-fileupload-1.2.1.jar 56KB
slf4j-api-1.5.8.jar 23KB
c3p0-0.9.1-pre6.jar 519KB
ognl-3.0.jar 224KB
c3p0-oracle-thin-extras-0.9.1-pre6.jar 3KB
struts.jar 474KB
ezmorph-1.0.5.jar 84KB
antlr.jar 344KB
javassist-3.7.ga.jar 531KB
commons-digester.jar 147KB
commons-lang-2.3.jar 240KB
struts2-core-2.2.1.jar 755KB
commons-io-1.3.2.jar 86KB
slf4j-log4j12-1.5.8.jar 9KB
jta-1.1.jar 13KB
json-lib-2.2.2-jdk15.jar 141KB
antlr-2.7.6.jar 433KB
共 86 条
- 1
资源评论
- 迷路d小孩2013-08-21同意楼上, 对我来说是有一点复杂,还是谢谢分享
- ygnh662012-12-08好复杂,可能水平不够,没看明白
- Lumia99992015-05-26不错,就是有些地方很难懂!
yangbaby445020593
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功