java实体类导入Excel
来源:互联网 发布:天勤网络 编辑:程序博客网 时间:2024/06/04 20:03
if(carList.isEmpty()){//carList为实体类链表
JOptionPane.showMessageDialog(CarRent.this, "数据为空!");
}else{
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("表一");
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
//实例化对象将属性名添加到Excel表头 CarInformation为实体类名
CarInformation car=new CarInformation();
Field[] fields = CarInformation.class.getDeclaredFields();
for (Field field : fields)
{
field.setAccessible(true);
String rsVal = field.getName();
cell = row.createCell(i);
cell.setCellValue(rsVal);
i++;
}
// 第四步,创建单元格,并设置值
Iterator it = carList.iterator();
while(it.hasNext())
{
int m=0;
row = sheet.createRow(n);
CarInformation carInf = (CarInformation)it.next();
for (Field field1 : carInf.getClass().getDeclaredFields())
{
field1.setAccessible(true);
try {
row.createCell(m).setCellValue(field1.get(carInf)+"");
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
m++;
}
n++;
}
//文件导出选择框
JFileChooser jfc = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("Excel文件(*.xls)", "xls");
jfc.setFileFilter(filter);
int option = jfc.showSaveDialog(CarRent.this);
if (option == JFileChooser.APPROVE_OPTION) {
File file = jfc.getSelectedFile();
String fname = jfc.getName(file); //从文件名输入框中获取文件名
//假如填写的文件名不带规定后缀名,则添上.xls后缀
if (fname.indexOf(".xls") == -1) {
file = new File(jfc.getCurrentDirectory(), fname + ".xls");
}
try {
FileOutputStream fout = new FileOutputStream(file,true);
wb.write(fout);
fout.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
JOptionPane.showMessageDialog(CarRent.this, "数据为空!");
}else{
int n=1;//记录Excel行数
int i=0;
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("表一");
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
//实例化对象将属性名添加到Excel表头 CarInformation为实体类名
CarInformation car=new CarInformation();
Field[] fields = CarInformation.class.getDeclaredFields();
for (Field field : fields)
{
field.setAccessible(true);
String rsVal = field.getName();
cell = row.createCell(i);
cell.setCellValue(rsVal);
i++;
}
// 第四步,创建单元格,并设置值
Iterator it = carList.iterator();
while(it.hasNext())
{
int m=0;
row = sheet.createRow(n);
CarInformation carInf = (CarInformation)it.next();
for (Field field1 : carInf.getClass().getDeclaredFields())
{
field1.setAccessible(true);
try {
row.createCell(m).setCellValue(field1.get(carInf)+"");
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
m++;
}
n++;
}
//文件导出选择框
JFileChooser jfc = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("Excel文件(*.xls)", "xls");
jfc.setFileFilter(filter);
int option = jfc.showSaveDialog(CarRent.this);
if (option == JFileChooser.APPROVE_OPTION) {
File file = jfc.getSelectedFile();
String fname = jfc.getName(file); //从文件名输入框中获取文件名
//假如填写的文件名不带规定后缀名,则添上.xls后缀
if (fname.indexOf(".xls") == -1) {
file = new File(jfc.getCurrentDirectory(), fname + ".xls");
}
try {
FileOutputStream fout = new FileOutputStream(file,true);
wb.write(fout);
fout.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
阅读全文
0 0
- java实体类导入Excel
- 从excel读取信息放入java实体类中,之后再导入Oracle数据库
- excel利用反射动态导入到实体类
- 利用反射导入Excel文件【一个实体类文件、一个导入文件】
- poi excel 操作,读取导入excel各行cell值,并保存至实体类
- Java 根据固定格式的Excel生成实体类
- Java 根据固定格式的Excel生成实体类
- java解析excel--并反射到实体类
- java 导入导出Excel工具类ExcelUtil
- Java导入导出Excel工具类ExcelUtil
- Java导入导出Excel工具类ExcelUtil
- java 导入导出Excel工具类ExcelUtil
- Java实现任意类Excel导入导出
- Excel导入导出工具类(java)
- Java导入导出Excel工具类ExcelUtil
- java poi导入Excel通用工具类
- java poi导入Excel通用工具类
- java 导入导出Excel工具类ExcelUtil
- git submodule的使用
- Git使用笔记
- Java编写UDAF
- unsion使用
- Ubuntu 安装PCL
- java实体类导入Excel
- Android icon尺寸
- 欢迎使用CSDN-markdown编辑器
- 最全面的Java多线程用法解析
- java基础知识.1
- Choreographer: Skipped 129 frames! The application may be doing too much work on its main thread.
- 如何应对网站反爬虫策略?如何高效地爬大量数据?
- 编程珠玑之快速排序
- 约瑟夫环—华为试题