这个上午,终于在别人源码的基础上,成功地将数据库里面的数据导到了excel里面,并可以成功保存到本机上。封装了一个ExcelUtil类,希望大家在遇到不会的时候,可以直接使用。
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
*
* @author u
*/
public class ExcelUtil {
public ExcelUtil() {
}
public static void loadExcel(List<Object[]> list, String sheetName, String[] columnsName) throws Exception {
list可以通过hibernate在数据库里查找得到,sheetName为表单名,columnsName为每一列的名字
int columns = columnsName.length, i = 1;
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet(sheetName); //表单名
HSSFRow firstrow = sheet.createRow(0);
HSSFCell[] firstcell = new HSSFCell[columns];
for (int j = 0; j < columns; j++) {
firstcell[j] = firstrow.createCell((short) j);
firstcell[j].setCellValue(new HSSFRichTextString(columnsName[j]));
}
for (Object[] object : list) {
HSSFRow row = sheet.createRow(i);
for (int j = 0; j < columns; j++) {
HSSFCell cell = row.createCell((short) j);
cell.setCellValue(new HSSFRichTextString(object[j].toString()));
}
i++;
}
try (//保存路径
OutputStream out = new FileOutputStream("E:\\test.xls")) {
wb.write(out);
}
System.out.println("数据库导出成功");
}
}