java实现导出.xls文件

package com.wxkj.yang;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class MakingTable4 {
	
	@SuppressWarnings("unchecked")
	public void makingTable(String url,String path,List<?> list1) throws Exception {
		Class<Object> clazz = (Class<Object>) Class.forName(url);
		List<?> list = list1;
		HSSFWorkbook hwb = new HSSFWorkbook();

		int length = clazz.getDeclaredFields().length;
		Field[] files = clazz.getDeclaredFields();
		HSSFSheet hs = hwb.createSheet("sheet1");
		HSSFRow row1 = hs.createRow(0);
		// 制表头
		for (int i = 0; i < length; i++) {
			HSSFCell cell = row1.createCell(i);
			String str = String.valueOf(files[i].getName());
			cell.setCellValue(str);
		}
		// 表格填充数据
		for (int i = 0; i < list.size(); i++) {
			Object obj = list.get(i);
			HSSFRow row = hs.createRow(i + 1);
			for (int j = 0; j < length; j++) {
				HSSFCell cell = row.createCell(j);
				Field field = clazz.getDeclaredField(files[j].getName());
				field.setAccessible(true);
				String str = String.valueOf(field.get(obj));
				cell.setCellValue(str);
			}
		}
		this.exportExcel(hwb, path);
	}

	public void exportExcel(HSSFWorkbook hwb,String path) throws Exception{
		// 导出文件
		OutputStream os = new FileOutputStream(path);
		hwb.write(os);
		hwb.close();
		os.close(); 
	} 
	
}

实现此段代码需要配合poi-3.13.jar包,代码用到了IO、反射、list嵌套实体类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用EasyExcel实现导出xls文件,你需要按照以下步骤进行操作: 1. 首先,你需要在你的项目中添加EasyExcel的依赖。你可以在pom.xml文件中添加以下内容: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.10</version> </dependency> ``` 2. 创建一个Java类,用于实现导出功能。在该类中,你可以使用EasyExcel提供的API来实现导出操作。下面是一个简单的示例代码: ```java import com.alibaba.excel.EasyExcel; import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import java.util.ArrayList; import java.util.List; public class ExcelExporter { public static void main(String[] args) { // 创建数据列表 List<User> userList = new ArrayList<>(); userList.add(new User("张三", 20)); userList.add(new User("李四", 25)); userList.add(new User("王五", 30)); // 指定导出文件路径和文件名 String fileName = "user_list.xls"; // 使用EasyExcel进行导出 EasyExcel.write(fileName, User.class) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .sheet("用户列表") .doWrite(userList); } static class User { private String name; private Integer age; public User(String name, Integer age) { this.name = name; this.age = age; } // 省略getter和setter方法 } } ``` 在上面的示例中,我们创建了一个名为`ExcelExporter`的类,其中包含了一个名为`User`的内部类作为导出数据的模型。我们使用`EasyExcel.write()`方法来指定导出文件的路径和文件名,使用`.registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())`来设置列宽自适应,并使用`.sheet()`方法指定导出的sheet名称。最后,使用`.doWrite()`方法执行导出操作。 3. 运行该类,你将在指定的路径下找到生成的xls文件。 请注意,上述示例代码仅供参考,你可以根据自己的需求进行修改和扩展。此外,还可以使用EasyExcel提供的其他功能,如读取xls文件、自定义样式等。你可以参考EasyExcel的官方文档以获得更多详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值