反射技术实现POI表格信息的注入
来源:互联网 发布:mmd制作软件手机 编辑:程序博客网 时间:2024/06/06 03:53
public class Factory implements Serializable {需要写入到xls文件中的东东:
private String id;
private String fullName;
private String typeName;
private String name;
private String contractor;
private String phone;
private String mobile;
private String fax;
private String inspector;
private String ctype;
private String state;
private Integer orderNo;
private String createBy;
private Date createTime;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContractor() {
return contractor;
}
public void setContractor(String contractor) {
this.contractor = contractor;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getFax() {
return fax;
}
public void setFax(String fax) {
this.fax = fax;
}
public String getInspector() {
return inspector;
}
public void setInspector(String inspector) {
this.inspector = inspector;
}
public String getCtype() {
return ctype;
}
public void setCtype(String ctype) {
this.ctype = ctype;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public Integer getOrderNo() {
return orderNo;
}
public void setOrderNo(Integer orderNo) {
this.orderNo = orderNo;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
}
public static Map<String,String> maps=new LinkedHashMap<String,String>();实现注入的代码:没有加样式,到时候有模板的:
static{
maps.put("id", "厂家编号");
maps.put("fullName", "厂家全称");
maps.put("name", "名称缩写");
maps.put("contractor", "联系人");
maps.put("phone", "电话");
maps.put("mobile", "手机");
maps.put("fax", " 真");
maps.put("inspector", "验货员");
maps.put("state", "状态");
maps.put("typeName", "类型");
}
public Field[] getFieldsByName(Map<String,String> maps) throws Exception, NoSuchFieldException{
Field[] fields=new Field[maps.size()];
Set<Entry<String,String>> entrySet = maps.entrySet();
int i=0;
for (Entry<String, String> entry : entrySet) {
fields[i]=Factory.class.getDeclaredField(entry.getKey());
fields[i].setAccessible(true);
i++;
}
return fields;//需要 射的字段;
}
@Test
public void test() throws Exception, Exception{
ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
FactoryDao daoFactory = (FactoryDao) context.getBean("daoFactory");
List<Factory> list = daoFactory.find("from Factory o");
//创建表和工作sheet;
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
Field[] fieldsByName = getFieldsByName(POIUtils.maps);
System.out.println(fieldsByName.length);
//第一行存放名称;
HSSFRow nameRow = sheet.createRow(0);
short cellNo=0;
for(Map.Entry<String, String> me:POIUtils.maps.entrySet()){
nameRow.createCell(cellNo++).setCellValue(me.getValue());
//上面的是设置 题;
}
int rowNum=1;
for (Factory factory : list) {
HSSFRow createRow = sheet.createRow(rowNum++);//每次都得+1;
short column=0;
for (Field field : fieldsByName) {
HSSFCell cell = createRow.createCell(column++);//这个也必须得每次都 一
Object fieldValue = field.get(factory);
cell.setCellValue(fieldValue==null? " ":fieldValue.toString());
}
}
OutputStream fos = new FileOutputStream("D:/factory.xls");
wb.write(fos);
fos.flush();
fos.close();
}
0 0
- 反射技术实现POI表格信息的注入
- POI技术实现EXCEL的导入导出
- 用POI实现导出Excel表格的后台java代码
- Java 使用POI实现Excel表格的导入导出
- 利用Apache POI 实现简单的Excel表格导出
- 使用Apach poi 实现对Excel表格的简单读写
- 使用自定义注解+POI实现通用的表格导入导出
- Java 使用POI实现Excel表格的导入导出
- 应用反射技术和责任链模式-----------实现反SQL注入和反SCRIPT注入
- 使用反射实现通用的POI导出Excel
- 用反射、注解、poi实现的excel导出
- POI 报表技术(导出Excel表格)
- 使用poi技术导出下载excel表格
- 实现poi方式生成excel文件和web类根据路径生成java实例的反射技术的springmvc方法的方法
- java POI实现excel实现表格导出
- AngularJs 技术实现简单的表格管理
- javaweb基于struct2使用POI修改excel表格某处的信息
- java使用poi导出excel的内容,同时可以利用反射进行动态获取信息
- DAO层重构
- BP 神经网络 反向传播算法
- Hibernate+SpringMVC整合实战一:搭…
- Hibernate+SpringMVC整合:实战二,…
- Hibernate+SpringMVC整合:实战三,…
- 反射技术实现POI表格信息的注入
- 设计模式--单例设计模式
- 设计模式--工厂设计模式(一)
- 设计模式--工厂设计模式(二)
- 设计模式--工厂模式(三)
- Spring中JdbcTemplate实现存储过程…
- Servlet和jsp对外访问路径的配置的…
- mysql优化技术
- Oracle连接查询