java代码生成一个漂亮的excel表格
时间: 2023-07-07 12:20:20 浏览: 46
你可以使用Apache POI库来生成Excel表格。下面是一个简单的示例代码,它将一个包含Employee对象的ArrayList写入Excel Sheet中:
```java
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelWriter {
public static void main(String[] args) throws IOException {
String excelFilePath = "path/to/excel/file.xlsx";
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
ArrayList<Employee> employees = new ArrayList<>();
employees.add(new Employee(1, "John Doe", 30));
employees.add(new Employee(2, "Jane Smith", 25));
employees.add(new Employee(3, "Bob Johnson", 45));
int rowNum = 0;
Row headerRow = sheet.createRow(rowNum++);
Cell idHeaderCell = headerRow.createCell(0);
idHeaderCell.setCellValue("ID");
Cell nameHeaderCell = headerRow.createCell(1);
nameHeaderCell.setCellValue("Name");
Cell ageHeaderCell = headerRow.createCell(2);
ageHeaderCell.setCellValue("Age");
for (Employee employee : employees) {
Row row = sheet.createRow(rowNum++);
Cell idCell = row.createCell(0);
idCell.setCellValue(employee.getId());
Cell nameCell = row.createCell(1);
nameCell.setCellValue(employee.getName());
Cell ageCell = row.createCell(2);
ageCell.setCellValue(employee.getAge());
}
for (int i = 0; i < 3; i++) {
sheet.autoSizeColumn(i);
}
FileOutputStream outputStream = new FileOutputStream(excelFilePath);
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
}
class Employee {
private int id;
private String name;
private int age;
public Employee(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
在这个示例中,我们创建了一个名为“Sheet1”的Excel Sheet,并将一个包含Employee对象的ArrayList写入该Sheet中。我们还设置了表头,并使用`autoSizeColumn`方法自动调整列宽。你可以根据需要修改代码来生成适合你项目的Excel表格。