poi导出Excel 写入标题栏 以及 将数据库中数据进行导出 版本二
程序员文章站
2022-06-24 23:53:43
...
依赖请参考版本一
先说写入标题栏 java代码
public class PoiColumnTest {
public static void main(String[] args) throws Exception{
// 准备数据
List<String> titles = Arrays.asList("编号","姓名","图片","法号","状态");
// 1.创建工作簿对象
HSSFWorkbook workbook = new HSSFWorkbook();
// 2.创建工作表
HSSFSheet sheet = workbook.createSheet("guru");
// 3.创建一行
HSSFRow titleRow = sheet.createRow(0);
for (int i = 0; i < titles.size(); i++) {
// 4.创建单元格
HSSFCell cell = titleRow.createCell(i);
// 5.写入数据
String s = titles.get(i);
cell.setCellValue(s);
}
// 6.输出到本地
workbook.write(new FileOutputStream(new File("E://guru.xls")));
}
}
效果
再说数据库中数据进行导出的java代码
@SpringBootTest(classes = {ShujiegouApplication.class})
@RunWith(SpringJUnit4ClassRunner.class)
public class PoiTestDataBase {
@Autowired
private SysColumnService sysColumnService;
// @Autowired
// private SysColumnMapper sysColumnMapper;
@Test
public void test1() throws Exception{
/**
* 获取数据库中的数据 填充在Excel表格中
* @throws Exception
*/
// 准备数据
List<String> titles = Arrays.asList("栏目Id","栏目名称","栏目父id值","菜单级别","跳转页面");
// 数据查询 上师全部的数据
List<SysColumn> sysColumnAll = sysColumnService.getSysColumnAll();
// List<SysColumn> sysColumnAll = sysColumnMapper.selectAll();
// 1. 新建一个HSSFWorkbook 对象
HSSFWorkbook workbook = new HSSFWorkbook();
// 单元格样式对象 设置样式
HSSFCellStyle cellStyle = workbook.createCellStyle();
HSSFFont font = workbook.createFont();
font.setColor((short)10);
font.setFontName("宋体");
cellStyle.setFont(font);
// 2. 新建一个HSSFSheet对象
HSSFSheet sheet = workbook.createSheet("guru");
// 3. 写入标题栏数据
// 创建行
HSSFRow titleRow = sheet.createRow(0);
for (int i = 0; i < titles.size(); i++) {
// 创建单元格
HSSFCell titleCell = titleRow.createCell(i);
// 添加样式
titleCell.setCellStyle(cellStyle);
// 写入数据
titleCell.setCellValue(titles.get(i));
}
// 4. 写入上师数据
for (int i = 0; i < sysColumnAll.size(); i++) {
SysColumn sysColumn = sysColumnAll.get(i);
// 创建行
HSSFRow row = sheet.createRow(i + 1);
// 创建单元格
HSSFCell cell0 = row.createCell(0);
cell0.setCellValue(sysColumn.getId());
HSSFCell cell1 = row.createCell(1);
cell1.setCellValue(sysColumn.getColumnName());
HSSFCell cell2 = row.createCell(2);
cell2.setCellValue(sysColumn.getParentId());
HSSFCell cell3 = row.createCell(3);
cell3.setCellValue(sysColumn.getColumnRank());
HSSFCell cell4 = row.createCell(4);
cell4.setCellValue(sysColumn.getEnName());
}
// 5. 输出
workbook.write(new FileOutputStream(new File("E://guruall.xls")));
}
}
效果
中间我用到了springboot中的Junit测试,
下篇博客我讲一下Junit测试。
这辈子坚持与不坚持都不可怕,怕的是独自走在坚持的道路上! 欢迎加入技术群聊!
下一篇: C++ decltype 说明符