/*
Navicat MySQL Data Transfer
Source Server : 我的连接
Source Server Version : 50717
Source Host : 127.1.1.1:3306
Source Database : mybatis
Target Server Type : MYSQL
Target Server Version : 50717
File Encoding : 65001
Date: 2020-07-29 15:05:21
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for department
-- ----------------------------
DROP TABLE IF EXISTS `department`;
CREATE TABLE `department` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`department_name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of department
-- ----------------------------
INSERT INTO `department` VALUES ('1', 'AA');
INSERT INTO `department` VALUES ('2', 'BB');
INSERT INTO `department` VALUES ('3', 'CC');
import cn.baisee.sbdatamybatis.entity.Department;
import cn.baisee.sbdatamybatis.mapper.DepartmentMapper;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@SpringBootTest
class SbdataMybatisApplicationTests {
@Autowired(required = false)
DepartmentMapper departmentMapper;
@Test
void contextLoads() throws Exception {
//从数据库查出id为1的department
Department department = departmentMapper.getDeptById(1);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("id",department.getId());
map.put("name",department.getDepartmentName());
List<HashMap<String, Object>> maps = new ArrayList<>();
maps.add(map);
write(maps);
}
@Test
void contextLoads2() throws Exception {
//从数据库查出多个department下面map.put(...,...);循环list添加
List<Department> department = departmentMapper.getDepts();
List<HashMap<String, Object>> maps = new ArrayList<>();
for (Department dep:department) {
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("name",dep.getDepartmentName());
map.put("id",dep.getId());
maps.add(map);
}
write(maps);
}
//导出
public void write(List<HashMap<String, Object>> maps) throws Exception {
//导出到哪个位置
File file = new File("C:/Users/lenovo/Desktop/报表.xls");
//如果不存在
if(!file.exists()){
//就创建
file.createNewFile();
}
//使用jxl写入数据需要createWorkbook
WritableWorkbook workbook = Workbook.createWorkbook(file);
//添加工作表
WritableSheet sheet = workbook.createSheet("测试表", 0);
//为第一行添加表头,我直接添加字段名,具体使用根据实际情况
if(maps.size()>0){
int i = 0;
for(String key:maps.get(0).keySet()){
sheet.addCell(new Label(i, 0, key));
i++;
}
}
String key = null;
String value = null;
for(int i=0;i<maps.size();i++){
for(int j=0;j<sheet.getColumns();j++){
key = sheet.getCell(j, 0).getContents();
value = maps.get(i).get(key).toString();
sheet.addCell(new Label(j, i+1, value));
}
}
workbook.write();
workbook.close();
}
}
本文地址:https://blog.csdn.net/weixin_44805174/article/details/107664868
如对本文有疑问, 点击进行留言回复!!
idea ssm项目java程序向串口发送指令并且使用十六进制 rxtx包的方法
网友评论